Orxonox  0.0.5 Codename: Arcturus
HumanController.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  * Fabian 'x3n' Landau
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _HumanController_H__
30 #define _HumanController_H__
31 
32 #include "OrxonoxPrereqs.h"
33 
34 #include "tools/Timer.h"
36 #include "FormationController.h"
37 
38 // tolua_begin
39 namespace orxonox
40 {
42 // tolua_end
43  : public FormationController, public Tickable
44  { // tolua_export
45  public:
46  HumanController(Context* context);
47  virtual ~HumanController();
48 
49  virtual void tick(float dt) override;
50 
51  static void moveFrontBack(const Vector2& value);
52  static void moveRightLeft(const Vector2& value);
53  static void moveUpDown(const Vector2& value);
54 
55  static void rotateYaw(const Vector2& value);
56  static void rotatePitch(const Vector2& value);
57  static void rotateRoll(const Vector2& value);
58 
59  virtual void frontback(const Vector2& value);
60  virtual void yaw(const Vector2& value);
61  virtual void pitch(const Vector2& value);
62 
63  static void fire(unsigned int firemode);
64  virtual void doFire(unsigned int firemode);
65  static void reload();
66 
67  static void boost(const Vector2& value); // Static method, controls boosting.
68  void startBoosting(void);
69  void stopBoosting(void);
70 
71  static void greet();
72  static void switchCamera();
73  static void mouseLook();
74  static void cycleNavigationFocus();
75  static void releaseNavigationFocus();
76 
77  static void suicide();
78  static void toggleGodMode();
79  static void myposition();
80 
81  static void toggleFormationFlight();
82  static void FFChangeMode();
83 
84  static void pauseControl(); // tolua_export
85  static void resumeControl(); // tolua_export
86  virtual void doPauseControl() {};
87  virtual void doResumeControl() {};
88 
91  static Pawn* getLocalControllerEntityAsPawn();
92 
93  protected:
96 
97  }; // tolua_export
98 } // tolua_export
99 
100 #endif /* _HumanController_H__ */
Everything in Orxonox that has a health attribute is a Pawn.
Definition: Pawn.h:56
static HumanController * getLocalControllerSingleton()
Definition: HumanController.h:89
virtual void doPauseControl()
Definition: HumanController.h:86
bool controlPaused_
Definition: HumanController.h:95
Definition: CorePrereqs.h:309
Declaration of the Tickable interface.
virtual void doResumeControl()
Definition: HumanController.h:87
static HumanController * localController_s
Definition: HumanController.h:94
Definition: FormationController.h:44
Declaration of the Timer class, used to call functions after a given time-interval.
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Shared library macros, enums, constants and forward declarations for the orxonox library ...
Definition: HumanController.h:41
Definition: Context.h:45
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
The Tickable interface provides a tick(dt) function, that gets called every frame.
Definition: Tickable.h:52