Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/FICN/src/orxonox/objects/SpaceShip.h @ 646

Last change on this file since 646 was 644, checked in by landauf, 18 years ago

added free-view-mode (hold right mouse button pressed)

File size: 3.2 KB
Line 
1#ifndef _SpaceShip_H__
2#define _SpaceShip_H__
3
4#include <OIS/OIS.h>
5
6#include "Model.h"
7#include "BillboardSet.h"
8#include "OgreSceneNode.h"
9
10#include "../../tinyxml/tinyxml.h"
11#include "../particle/ParticleInterface.h"
12
13namespace orxonox
14{
15    class SpaceShip : public Model, public OIS::MouseListener
16    {
17        public:
18            SpaceShip();
19            ~SpaceShip();
20            virtual void loadParams(TiXmlElement* xmlElem);
21            void setMaxSpeedValues(float maxSpeedForward, float maxSpeedRotateUpDown, float maxSpeedRotateRightLeft, float maxSpeedLoopRightLeft);
22            virtual void tick(float dt);
23            void moveForward(float moveForward);
24            void rotateUp(float rotateUp);
25            void rotateDown(float rotateDown);
26            void rotateRight(float rotateRight);
27            void rotateLeft(float rotateLeft);
28            void loopRight(float loopRight);
29            void loopLeft(float loopLeft);
30            void brakeForward(float brakeForward);
31            void brakeRotate(float brakeRotate);
32            void brakeLoop(float brakeLoop);
33            void maxSpeedForward(float maxSpeedForward);
34            void maxSpeedRotateUpDown(float maxSpeedRotateUpDown);
35            void maxSpeedRotateRightLeft(float maxSpeedRotateRightLeft);
36            void maxSpeedLoopRightLeft(float maxSpeedLoopRightLeft);
37            bool mouseMoved(const OIS::MouseEvent &e);
38            bool mousePressed(const OIS::MouseEvent &e, OIS::MouseButtonID id);
39            bool mouseReleased(const OIS::MouseEvent &e, OIS::MouseButtonID id);
40
41
42        private:
43            bool bInvertMouse_;
44            bool setMouseEventCallback_;
45            bool bLMousePressed_;
46            bool bRMousePressed_;
47
48            Ogre::SceneNode* camNode_;
49
50            particle::ParticleInterface *tt_;
51
52            BillboardSet redBillboard_;
53            BillboardSet greenBillboard_;
54            Ogre::SceneNode* redNode_;
55            Ogre::SceneNode* greenNode_;
56            float blinkTime_;
57
58            float timeToReload_;
59            float reloadTime_;
60
61            float moveForward_;
62            float rotateUp_;
63            float rotateDown_;
64            float rotateRight_;
65            float rotateLeft_;
66            float loopRight_;
67            float loopLeft_;
68            float brakeForward_;
69            float brakeRotate_;
70            float brakeLoop_;
71
72            float speedForward_;
73            float speedRotateUpDown_;
74            float speedRotateRightLeft_;
75            float speedLoopRightLeft_;
76
77            float maxSpeedForward_;
78            float maxSpeedRotateUpDown_;
79            float maxSpeedRotateRightLeft_;
80            float maxSpeedLoopRightLeft_;
81
82            float accelerationForward_;
83            float accelerationRotateUpDown_;
84            float accelerationRotateRightLeft_;
85            float accelerationLoopRightLeft_;
86
87            float speed;
88            float rotate;
89            float loop;
90            float mouseY;
91            float mouseX;
92            float maxMouseX;
93            float minMouseX;
94            bool moved;
95
96            int emitterRate_;
97    };
98}
99
100#endif
Note: See TracBrowser for help on using the repository browser.