Orxonox  0.0.5 Codename: Arcturus
DodgeRace.h
Go to the documentation of this file.
1 /*
2  * ORXONOX - the hottest 3D action shooter ever to exist
3  * > www.orxonox.net <
4  *
5  *
6  * License notice:
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  *
22  * Author:
23  * Florian Zinggeler
24  * Co-authors:
25  * ...
26  *
27  */
28 
35 #ifndef _DodgeRace_H__
36 #define _DodgeRace_H__
37 
39 
40 #include "DodgeRaceCenterPoint.h" // Necessary for WeakPointer??
41 //#include "DodgeRaceShip.h" DO NOT include in Header. Will cause forward declaration issues
42 
43 //#include "DodgeRaceHUDinfo.h"
44 
45 
46 #include "core/EventIncludes.h"
47 #include "core/command/Executor.h"
49 
50 #include "gamestates/GSLevel.h"
51 #include "chat/ChatManager.h"
52 #include <vector>
53 
54 // ! HACK
55 #include "infos/PlayerInfo.h"
56 
58 
59 #include "gametypes/Deathmatch.h"
60 #include "tools/Timer.h"
61 
62 namespace orxonox
63 {
64 
66  {
67  public:
68  DodgeRace(Context* context);
69 
70  virtual void start() override;
71  virtual void end() override;
72 
73  virtual void tick(float dt) override;
74 
75  virtual void playerPreSpawn(PlayerInfo* player) override;
76 
77  void levelUp();
78 
79  int getLives(){return this->lives;}
80  int getLevel(){return this->level;}
81  int getPoints(){return this->point;}
82  int getMultiplier(){return this->multiplier;}
83 
85  { this->center_ = center; }
86  virtual void addBots(unsigned int amount) override{} //<! overwrite function in order to bypass the addbots command
87 
88  // checks if multiplier should be reset.
89  void comboControll();
90  void costLife();
91 
92  bool bEndGame;
93  bool bShowLevel;
94  int lives;
96  float counter;
97  int pattern;
99  float lastPosition;
100 
101  private:
103 
104  DodgeRaceShip* getPlayer();
106  std::vector<DodgeRaceCube*> cubeList;
107  void toggleShowLevel(){bShowLevel = !bShowLevel;}
108  void addPoints(int numPoints);
109 
111  int level;
112  int point;
113  bool b_combo;
114 
118 
119 
120  /*
121 
122  //void spawnEnemy();
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135  private:
136 
137 
138 
139 
140  //Context* context;
141  */
142  };
143 }
144 
145 #endif /* _DodgeRace_H__ */
virtual void addBots(unsigned int amount) override
Definition: DodgeRace.h:86
bool b_combo
Definition: DodgeRace.h:113
Definition: DodgeRace.h:65
int getLevel()
Definition: DodgeRace.h:80
int getMultiplier()
Definition: DodgeRace.h:82
Definition: DodgeRaceCenterPoint.h:47
Timer endGameTimer
Definition: DodgeRace.h:102
Shared library macros, enums, constants and forward declarations for the DodgeRace module ...
bool bEndGame
Definition: DodgeRace.h:92
void toggleShowLevel()
Definition: DodgeRace.h:107
int level
Definition: DodgeRace.h:111
WeakPtr< PlayerInfo > playerInfo_
Definition: DodgeRace.h:105
std::vector< DodgeRaceCube * > cubeList
Definition: DodgeRace.h:106
WeakPtr wraps a pointer to an object, which becomes nullptr if the object is deleted.
Definition: CorePrereqs.h:236
int pattern
Definition: DodgeRace.h:97
int point
Definition: DodgeRace.h:112
Timer enemySpawnTimer
Definition: DodgeRace.h:115
Timer showLevelTimer
Definition: DodgeRace.h:117
int getPoints()
Definition: DodgeRace.h:81
float lastPosition
Definition: DodgeRace.h:99
Declaration of the Timer class, used to call functions after a given time-interval.
WeakPtr< DodgeRaceCenterPoint > center_
Definition: DodgeRace.h:110
Declaration of the DodgeRaceCenterPoint class.
int multiplier
Definition: DodgeRace.h:95
Declaration of the orxonox::Executor class and the createExecutor() functions.
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
float currentPosition
Definition: DodgeRace.h:98
Declaration of the orxonox::ConsoleCommand class.
int getLives()
Definition: DodgeRace.h:79
int lives
Definition: DodgeRace.h:94
Definition: Context.h:45
float counter
Definition: DodgeRace.h:96
bool bShowLevel
Definition: DodgeRace.h:93
Definition: Deathmatch.h:37
void setCenterpoint(DodgeRaceCenterPoint *center)
Definition: DodgeRace.h:84
Definition: PlayerInfo.h:39
Definition: DodgeRaceShip.h:49
Timer is a helper class that executes a function after a given amount of seconds in game-time...
Definition: Timer.h:105
#define _DodgeRaceExport
Definition: DodgeRacePrereqs.h:60
Definition of the XMLPortEventState() macro, as well as some more useful macros.
Definition of macros and functions for config-values.
Timer comboTimer
Definition: DodgeRace.h:116