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 "Constants.hh"
00021 # include "Dice.hh"
00022 # include "rules/EventProcess.hh"
00023
00028 enum eCustomEvent {
00029 eInitGame,
00030 };
00031
00039 class Event
00040 {
00041 public:
00042 Event() {}
00043 virtual ~Event() {}
00044
00046 virtual void evIllegal(int team_id, int was_token, enum eError error);
00048 virtual void evChat(int coach_id, const std::string& msg);
00049
00051 virtual void evInitGame() {}
00053 virtual void evCelebration() {}
00055 virtual void evEndGame() {}
00057 virtual void evCancelGame(int) {}
00058
00060 virtual void evHalf(int half);
00062 virtual void evDrawKicker(int team_id, bool is_a_question);
00064 virtual void evPlaceTeam(int team_id);
00066 virtual void evKickOff(int team_id);
00068 virtual void evTouchBack(int team_id);
00070 virtual void evNewTurn(int team_id, int cur_half, int cur_turn);
00073 virtual void evMoveTurnMarker() {}
00075 virtual void evTurnOver(enum eTurnOverMotive motive);
00077 virtual void evTouchdooown(int team_id, int player_id);
00079 virtual void evEndTurn(int team_id);
00081 virtual void evTimer(bool pause);
00082
00084 virtual void evBallCoord(const Coordinates& old_coord, const Coordinates& new_coord);
00086 virtual void evBallOwner(int old_team_id, int old_player_id, int team_id, int player_id);
00087
00089 virtual void evPlayerCreate(int team_id, int player_id);
00091 virtual void evPlayerMaRemain(int team_id, int player_id,
00092 int old_ma_remain, int new_ma_remain);
00094 virtual void evPlayerStatus(int team_id, int player_id,
00095 enum eStatus old_status, enum eStatus status);
00097 virtual void evPlayerCoord(int team_id, int player_id,
00098 const Coordinates& old_coord,
00099 const Coordinates& new_coord);
00101 virtual void evPlayerKnocked(int team_id, int player_id);
00102
00104 virtual void evAction(int team_id, int player_id, enum eAction action);
00106 virtual void evEffort(int team_id, int player_id, enum eEffort effort,
00107 const Coordinates& to);
00109 virtual void evRequestProcessed(int team_id);
00111 virtual void evResult(int team_id, int player_id, enum eRoll roll_type, int result,
00112 int modifier, int required, bool reroll, enum eSkill skill);
00114 virtual void evBlockResult(int team_id, int player_id, int opponent_player_id,
00115 int nb_dices, enum eBlockDiceFace result[3],
00116 int dice_chooser_id, bool reroll);
00118 virtual void evBlockDice(int team_id, int dice);
00120 virtual void evBlockPush(int team_id, const Coordinates& coord, int nb_squares, const Coordinates squares[], int chosen_square);
00122 virtual void evFollow(int team_id, int follow);
00123
00125 virtual void evReroll(int team_id, bool reroll);
00127 virtual void evSkill(int team_id, int player_id, enum eSkill skill, int choice);
00128 };
00129
00130 inline void Event::evIllegal(int, int, enum eError) {}
00131 inline void Event::evChat(int, const std::string&) {}
00132
00133 inline void Event::evHalf(int) {}
00134 inline void Event::evDrawKicker(int, bool) {}
00135 inline void Event::evPlaceTeam(int) {}
00136 inline void Event::evKickOff(int) {}
00137 inline void Event::evTouchBack(int) {}
00138 inline void Event::evNewTurn(int, int, int) {}
00139 inline void Event::evTurnOver(enum eTurnOverMotive) {}
00140 inline void Event::evTouchdooown(int, int) {}
00141 inline void Event::evEndTurn(int) {}
00142 inline void Event::evTimer(bool) {}
00143
00144 inline void Event::evBallCoord(const Coordinates&, const Coordinates&) {}
00145 inline void Event::evBallOwner(int, int, int, int) {}
00146
00147 inline void Event::evPlayerCreate(int, int) {}
00148 inline void Event::evPlayerStatus(int, int, enum eStatus, enum eStatus) {}
00149 inline void Event::evPlayerCoord(int, int, const Coordinates&, const Coordinates&) {}
00150 inline void Event::evPlayerMaRemain(int, int, int, int) {}
00151 inline void Event::evPlayerKnocked(int, int) {}
00152
00153 inline void Event::evAction(int, int, enum eAction) {}
00154 inline void Event::evEffort(int, int, enum eEffort, const Coordinates&) {}
00155 inline void Event::evRequestProcessed(int) {}
00156 inline void Event::evResult(int, int, enum eRoll, int, int, int, bool, enum eSkill) {}
00157 inline void Event::evBlockResult(int, int, int, int, enum eBlockDiceFace[3], int, bool) {}
00158 inline void Event::evBlockDice(int, int) {}
00159 inline void Event::evBlockPush(int, const Coordinates&, int, const Coordinates[], int) {}
00160 inline void Event::evFollow(int, int) {}
00161
00162 inline void Event::evReroll(int, bool) {}
00163 inline void Event::evSkill(int, int, enum eSkill, int) {}
00164
00165 #endif