import enum gameEntitySpawnerEventType
{
	Spawn,
	Despawn,
	Death,
}

importonly class gameEntitySpawnerEvent extends Event
{
	import var spawnedEntityId : EntityID;
	import var eventType : gameEntitySpawnerEventType;
}

importonly abstract class IEntitySpawnerEventsBroadcaster extends IGameSystem
{
}

importonly final class EntitySpawnerEventsBroadcaster extends IEntitySpawnerEventsBroadcaster
{
	public import function RegisterSpawnerEventPSListener( spawnerOrCommunityId : EntityID, communityEntryName : CName, psListenerPersistentId : PersistentID, psListenerClassName : CName ) : Uint32;
	public import function UnregisterSpawnerEventPSListener( registerId : Uint32 );
}

importonly abstract class ICommunitySystem extends IGameSystem
{
}

importonly final class CommunitySystem extends ICommunitySystem
{
	public import function EnableDynamicCrowdNullArea( areaLocalBBox : Box, areaLocalToWorld : WorldTransform, savable : Bool, duration : Float ) : Uint64;
	public import function DisableCrowdNullArea( areaId : Uint64 );
	public import function ChangeDensityModifier( modiefier : Float );
	public import function ResetDensityModifier();
}

