class StrikeDuration_Debug_VDB extends StrikeDuration_Debug
{
	private const var UPDATE_DELAY : Float;
	default UPDATE_DELAY = 1.f;
	private const var DISPLAY_DURATION : Float;
	default DISPLAY_DURATION = 1.1f;
	private var timeToNextUpdate : Float;

	public function Process( ctx : EffectScriptContext, durationCtx : EffectDurationModifierScriptContext ) : Float
	{
		var dt, radius : Float;
		var data : EffectData;
		var gi : GameInstance;
		var factVal : Int32;
		gi = EffectScriptContext.GetGameInstance( ctx );
		if( timeToNextUpdate <= 0.0 )
		{
			data = EffectScriptContext.GetSharedData( ctx );
			EffectData.GetFloat( data, GetAllBlackboardDefs().EffectSharedData.radius, radius );
			DebugNPCs_NonExec( gi, FloatToString( DISPLAY_DURATION ), FloatToString( radius ) );
			timeToNextUpdate = UPDATE_DELAY;
		}
		dt = EffectDurationModifierScriptContext.GetTimeDelta( durationCtx );
		timeToNextUpdate -= dt;
		factVal = GetFact( gi, 'cheat_vdb_const' );
		if( factVal == 0 )
		{
			GetPlayer( gi ).DEBUG_Visualizer.ClearPuppetVisualization();
			return 0.0;
		}
		return UPDATE_DELAY + 0.5;
	}

}

