Event.hh

00001 /*
00002 ** TowBowlTactics, a turn-based strategy football game.
00003 ** 
00004 ** Copyright (C) 2006-2010 The TBT Team.
00005 ** 
00006 ** This program is free software; you can redistribute it and/or
00007 ** modify it under the terms of the GNU General Public License
00008 ** as published by the Free Software Foundation; either version 2
00009 ** of the License, or (at your option) any later version.
00010 ** 
00011 ** The complete GNU General Public Licence Notice can be found as the
00012 ** `NOTICE' file in the root directory.
00013 ** 
00014 ** The TBT Team consists of people listed in the `AUTHORS' file.
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 /* !EVENT_HH_ */
Generated on Mon Apr 5 21:17:12 2010 for Stechec/TBT by  doxygen 1.6.3