import class SourceShootComponent extends IComponent
{
	public import final function GetContinuousLineOfSightToTarget( target : GameObject, out continuousLineOfSight : Float ) : Bool;
	public import final function CanSeeSecondaryPointOfTarget( target : GameObject ) : Bool;
	public import final function GetLineOfSightTBHModifier( target : GameObject ) : Float;
	public import function ClearDebugInformation();
	public import function AppendDebugInformation( lineToAppend : String );

	public function SetDebugParameters( const params : ref< TimeBetweenHitsParameters > )
	{
		ClearDebugInformation();
		AppendDebugInformation( "DIFFICULTY: " + FloatToString( params.difficultyLevelCoefficient ) );
		AppendDebugInformation( "TARGET: " + FloatToString( params.baseCoefficient ) );
		AppendDebugInformation( "SOURCE: " + FloatToString( params.baseSourceCoefficient ) );
		AppendDebugInformation( "ACCURACY: " + FloatToString( params.accuracyCoefficient ) );
		AppendDebugInformation( "DISTANCE: " + FloatToString( params.distanceCoefficient ) );
		AppendDebugInformation( "VISIBILITY: " + FloatToString( params.visibilityCoefficient ) );
		AppendDebugInformation( "PLAYERS: " + FloatToString( params.playersCountCoefficient ) );
		AppendDebugInformation( "GROUP: " + FloatToString( params.groupCoefficient ) );
		AppendDebugInformation( "COVER: " + FloatToString( params.coverCoefficient ) );
		AppendDebugInformation( "VISION BLOCKERS: " + FloatToString( params.visionBlockerCoefficient ) );
	}

}

