importonly class SignalUserData extends IScriptable
{
	public import final function HasTag( tag : CName ) : Bool;
}

importonly class TaggedSignalUserData extends SignalUserData
{
	import var tags : array< CName >;

	public import final function AddTag( tag : CName );
}

importonly class gameBoolSignalTable extends IScriptable
{
	public import final function GetOrCreateSignal( signalName : CName ) : Uint16;
	public import final function GetOrCreateTagSignal( signalName : CName ) : Uint16;
	public import final function Set( signalId : Uint16, value : Bool ) : Bool;
	public import final function SetWithData( signalId : Uint16, data : SignalUserData ) : Bool;
	public import final function SetByName( signalName : CName, value : Bool ) : Bool;
	public import final function SetTimed( signalId : Uint16, duration : Float ) : Bool;
	public import final function GetCurrentValue( signalId : Uint16 ) : Bool;
	public import final function GetCurrentData( signalId : Uint16 ) : SignalUserData;
}

