import struct StimuliMergeInfo
{
	import var position : Vector4;
	import var instigator : weak< GameObject >;
	import var radius : Float;
	import var type : gamedataStimType;
	import var propagationType : gamedataStimPropagation;
	import var targets : gamedataStimTargets;
}

importonly abstract class IStimuliSystem extends IGameSystem
{
}

importonly final class StimuliSystem extends IStimuliSystem
{
	public import function BroadcastStimuli( effect : EffectInstance );
	public import function BroadcastMergeableStimuli( stimuliInfo : StimuliMergeInfo, suppressedByType : array< gamedataStimType > );
	public import function GetStimRecord( stimType : gamedataStimType ) : Stim_Record;
}

