import enum gameFearStage : Uint8
{
	Relaxed,
	Stressed,
	Alarmed,
	Panic,
}

importonly class CrowdMemberComponent extends IComponent
{
	public import final function ChangeFearStage( stage : gameFearStage, optional playInitAniation : Bool ) : Bool;
	public import final function ChangeMoveType( name : CName ) : Bool;
	public import final function IsInCrowd() : Bool;
	public import final function IsBlockedInTraffic() : Bool;
	public import final function SetThreatLastKnownPosition( position : Vector4 );
	public import final function TryChangeMovementDirection();
	public import final function TryStopTrafficMovement();
	public import final function GetMovementDirection() : Vector4;
	public import final function CheckEmptyPath( distance : Float ) : Bool;
	public import final function CheckIsMoving() : Bool;
	public import final function AllowWorkspotsUsage( allowUsage : Bool );
	public import final function OnCrowdReaction( stimType : gamedataStimType );
	public import final function CheckTrafficPath( context : gameJoinTrafficNPCContext ) : Bool;
}

importonly class InCrowd extends Event
{
}

importonly class OutOfCrowd extends Event
{
}

importonly class OnPavement extends Event
{
}

importonly class OffPavement extends Event
{
}

importonly class OnCarHitPlayer extends Event
{
	import var hitDirection : Vector4;
	import var carId : EntityID;
	import var seperationImpulse : Vector4;
}

class CrowdMemberBaseComponent extends CrowdMemberComponent
{
}

