00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef EVENT_HH_
00018 # define EVENT_HH_
00019
00020 # include "EventProcess.hh"
00021 # include "Dice.hh"
00022
00027 enum eCustomEvent {
00028 eInitGame,
00029 };
00030
00038 class Event
00039 {
00040 public:
00041 Event() {}
00042 virtual ~Event() {}
00043
00044 virtual void evIllegal(int team_id, int was_token);
00045 virtual void evInitGame() {}
00046 virtual void evNewTurn(int team_id, int cur_half, int cur_turn);
00047 virtual void evEndGame() {}
00048 virtual void evResult(int team_id, int player_id, enum eRoll action_type, int result,
00049 int modifier, int required, bool reroll, enum eSkill skill);
00050 virtual void evBlock(int team_id, int player_id, int opponent_player_id);
00051 virtual void evBlockResult(int team_id, int player_id, int opponent_player_id,
00052 int nb_dice, enum eBlockDiceFace result[3],
00053 int strongest_team_id, bool reroll);
00054 virtual void evReroll(int team_id, bool reroll);
00055 virtual void evSkill(int team_id, int player_id, enum eSkill skill, int choice);
00056 virtual void evHalf(int half);
00057 virtual void evDrawKicker(int team_id, bool is_a_question);
00058 virtual void evPlaceTeam(int team_id);
00059 virtual void evKickOff(int team_id);
00060 virtual void evGiveBall(int team_id, int player_id);
00061 virtual void evMoveTurnMarker() {}
00062 virtual void evTurnOver(enum eTurnOverMotive motive);
00063 virtual void evTouchdooown(int team_id, int player_id);
00064 virtual void evChat(const std::string& msg);
00065 virtual void evBallPos(const Point& pos);
00066 virtual void evPlayerCreate(int team_id, int player_id);
00067 virtual void evPlayerPos(int team_id, int player_id, const Point& pos);
00068 virtual void evPlayerMove(int team_id, int player_id, const Point& pos);
00069 virtual void evPlayerKnocked(int team_id, int player_id);
00070 virtual void evPlayerStatus(int team_id, int player_id, enum eStatus status);
00071 virtual void evPlayerKO(int team_id, int player_id, int dice);
00072 virtual void evFollow();
00073 virtual void evDeclare(int team_id, int player_id, enum eDeclaredAction action);
00074 virtual void evBlockPush(const Position& pos, int nb_choice, const Position choices[]);
00075 };
00076
00077 inline void Event::evIllegal(int, int) {}
00078 inline void Event::evNewTurn(int, int, int) {}
00079 inline void Event::evResult(int, int, enum eRoll, int, int, int, bool, enum eSkill) {}
00080 inline void Event::evBlock(int, int, int) {}
00081 inline void Event::evBlockResult(int, int, int, int, enum eBlockDiceFace[3], int, bool) {}
00082 inline void Event::evReroll(int, bool) {}
00083 inline void Event::evSkill(int, int, enum eSkill, int) {}
00084 inline void Event::evHalf(int) {}
00085 inline void Event::evDrawKicker(int, bool) {}
00086 inline void Event::evPlaceTeam(int) {}
00087 inline void Event::evKickOff(int) {}
00088 inline void Event::evGiveBall(int, int) {}
00089 inline void Event::evTurnOver(enum eTurnOverMotive) {}
00090 inline void Event::evTouchdooown(int, int) {}
00091 inline void Event::evChat(const std::string&) {}
00092 inline void Event::evBallPos(const Point&) {}
00093 inline void Event::evPlayerCreate(int, int) {}
00094 inline void Event::evPlayerPos(int, int, const Point&) {}
00095 inline void Event::evPlayerMove(int, int, const Point&) {}
00096 inline void Event::evPlayerKnocked(int, int) {}
00097 inline void Event::evPlayerStatus(int, int, enum eStatus) {}
00098 inline void Event::evPlayerKO(int, int, int) {}
00099 inline void Event::evFollow() {}
00100 inline void Event::evDeclare(int, int, enum eDeclaredAction) {}
00101 inline void Event::evBlockPush(const Position&, int, const Position[]) {}
00102
00103 #endif