Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation3/src/orxonox/controllers/NewHumanController.h @ 7142

Last change on this file since 7142 was 6951, checked in by scheusso, 15 years ago

merged rocket branch into presentation3 and cleaned up some things (mostly debug output and intendation)

  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
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 *      Michael Wirth
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29#ifndef _NewNewHumanController_H__
30#define _NewNewHumanController_H__
31
32#include "OrxonoxPrereqs.h"
33
34#include "util/Math.h"
35
36#include "core/ClassTreeMask.h"
37#include "HumanController.h"
38
39namespace orxonox
40{
41    class _OrxonoxExport NewHumanController : public HumanController
42    {
43        public:
44            NewHumanController(BaseObject* creator);
45            virtual ~NewHumanController();
46
47            virtual void tick(float dt);
48
49            virtual void frontback(const Vector2& value);
50            virtual void yaw(const Vector2& value);
51            virtual void pitch(const Vector2& value);
52
53            static void accelerate();
54            static void decelerate();
55
56            virtual void doFire(unsigned int firemode);
57
58            virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage);
59
60            static void unfire();
61            virtual void doUnfire();
62
63            static void changeMode();
64
65            virtual void changedControllableEntity();
66            virtual void doPauseControl();
67            virtual void doResumeControl();
68
69
70        protected:
71            void updateTarget();
72            void alignArrows();
73            void showOverlays();
74            void hideOverlays();
75            void hideArrows();
76
77            unsigned int                controlMode_;
78            static NewHumanController*  localController_s;
79
80        private:
81            float                       currentYaw_;
82            float                       currentPitch_;
83            OrxonoxOverlay*             crossHairOverlay_;
84            OrxonoxOverlay*             centerOverlay_;
85
86            OrxonoxOverlay*             damageOverlayTop_;
87            OrxonoxOverlay*             damageOverlayRight_;
88            OrxonoxOverlay*             damageOverlayBottom_;
89            OrxonoxOverlay*             damageOverlayLeft_;
90            float                       damageOverlayTime_;
91            float                       damageOverlayTT_;
92            float                       damageOverlayTR_;
93            float                       damageOverlayTB_;
94            float                       damageOverlayTL_;
95
96            OrxonoxOverlay*             arrowsOverlay1_;
97            OrxonoxOverlay*             arrowsOverlay2_;
98            OrxonoxOverlay*             arrowsOverlay3_;
99            OrxonoxOverlay*             arrowsOverlay4_;
100
101            float                       overlaySize_;
102            float                       arrowsSize_;
103            bool                        accelerating_;
104            float                       acceleration_;
105            int                         firemode_;
106            bool                        showArrows_;
107            bool                        showDamageOverlay_;
108            bool                        showOverlays_;
109            ClassTreeMask               targetMask_;
110    };
111}
112
113#endif /* _NewHumanController_H__ */
Note: See TracBrowser for help on using the repository browser.