Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation2/src/orxonox/controllers/NewHumanController.h @ 6256

Last change on this file since 6256 was 6236, checked in by scheusso, 15 years ago

showing and hiding of overlays should now work correct with respawning and menu toggling

  • Property svn:eol-style set to native
File size: 3.1 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            static void unfire();
59            virtual void doUnfire();
60
61            static void changeMode();
62
63            virtual void changedControllableEntity();
64            virtual void doPauseControl();
65            virtual void doResumeControl();
66
67        protected:
68            void updateTarget();
69            void alignArrows();
70            void showOverlays();
71            void hideOverlays();
72            void hideArrows();
73
74            unsigned int                controlMode_;
75            static NewHumanController*  localController_s;
76        private:
77            float                       currentYaw_;
78            float                       currentPitch_;
79            OrxonoxOverlay*             crossHairOverlay_;
80            OrxonoxOverlay*             centerOverlay_;
81            OrxonoxOverlay*             arrowsOverlay1_;
82            OrxonoxOverlay*             arrowsOverlay2_;
83            OrxonoxOverlay*             arrowsOverlay3_;
84            OrxonoxOverlay*             arrowsOverlay4_;
85            float                       overlaySize_;
86            float                       arrowsSize_;
87            bool                        accelerating_;
88            float                       acceleration_;
89            int                         firemode_;
90            bool                        showArrows_;
91            bool                        showOverlays_;
92            ClassTreeMask               targetMask_;
93    };
94}
95
96#endif /* _NewHumanController_H__ */
Note: See TracBrowser for help on using the repository browser.