/**@class	BotEventBase
 * @brief	represents event that triggers transition from state to state
 **/
class BotEventBase
{
	PlayerBase m_Player;
	EntityAI m_Entity;

	void BotEventBase (PlayerBase p = NULL, EntityAI e = NULL) { m_Entity = e; }
	string DumpToString () {}
};

//class BotEventXXX : BotEventBase { void BotEventXXX (PlayerBase p = NULL) { } };


class BotEventStart : BotEventBase { };
class BotEventStop : BotEventBase { };

class BotEventEndOK : BotEventBase { };
class BotEventEndFail : BotEventBase { };
class BotEventEndTimeout : BotEventBase { };
class BotEventOnItemInHandsChanged : BotEventBase { };

class BotEventStartDebug : BotEventBase
{
	int m_Id;

	void BotEventStartDebug(PlayerBase p = NULL, EntityAI e = NULL, int id = 0)
	{
		m_Id = id;
	}
	
	override string DumpToString () { return "id: " + m_Id; }
};
