Orxonox  0.0.5 Codename: Arcturus
CommonController.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  * Gani Aliguzhinov
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _CommonController_H__
30 #define _CommonController_H__
31 
32 
33 #include "controllers/Controller.h" //that's what I inherit from
34 
35 #include <limits> //I use limits pretty much in every class, so might as well include it in the parent class
36 
37 #include "worldentities/ControllableEntity.h" //same for ControllableEntity
38 #include "worldentities/pawns/Pawn.h" //and Pawn
39 
40 
41 namespace orxonox
42 {
44  {
45 
46  public:
47  static const float HARDCODED_PROJECTILE_SPEED; //<! FightingController uses it to predict enemy position
48 
49  CommonController(Context* context);
50  virtual ~CommonController();
51  static float randomInRange(float a, float b); //<! returns random number from a to b
52  static float distance(const ControllableEntity* entity1, const ControllableEntity* entity2); //<! returns distance between arguments
53  static bool sameTeam (ControllableEntity* entity1, ControllableEntity* entity2, Gametype* gt);
54  static bool isLooking(const ControllableEntity* entityThatLooks, const ControllableEntity* entityBeingLookedAt, float angle) ;
55  static std::string getName(const Pawn* entity) ;
56  };
57 }
58 
59 #endif /* _CommonController_H__ */
Everything in Orxonox that has a health attribute is a Pawn.
Definition: Pawn.h:56
::std::string string
Definition: gtest-port.h:756
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Definition: Gametype.h:63
Definition: CommonController.h:43
Definition: Context.h:45
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
Definition: Controller.h:38
The ControllableEntity is derived from the orxonox::MobileEntity.
Definition: ControllableEntity.h:48
static const float HARDCODED_PROJECTILE_SPEED
Definition: CommonController.h:47