Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 643 was 643, checked in by landauf, 16 years ago

added a simple firing mode to SpaceShip

File size: 3.1 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 bMousePressed_;
46
47            particle::ParticleInterface *tt_;
48
49            BillboardSet redBillboard_;
50            BillboardSet greenBillboard_;
51            Ogre::SceneNode* redNode_;
52            Ogre::SceneNode* greenNode_;
53            float blinkTime_;
54
55            float timeToReload_;
56            float reloadTime_;
57
58            float moveForward_;
59            float rotateUp_;
60            float rotateDown_;
61            float rotateRight_;
62            float rotateLeft_;
63            float loopRight_;
64            float loopLeft_;
65            float brakeForward_;
66            float brakeRotate_;
67            float brakeLoop_;
68
69            float speedForward_;
70            float speedRotateUpDown_;
71            float speedRotateRightLeft_;
72            float speedLoopRightLeft_;
73
74            float maxSpeedForward_;
75            float maxSpeedRotateUpDown_;
76            float maxSpeedRotateRightLeft_;
77            float maxSpeedLoopRightLeft_;
78
79            float accelerationForward_;
80            float accelerationRotateUpDown_;
81            float accelerationRotateRightLeft_;
82            float accelerationLoopRightLeft_;
83
84            float speed;
85            float rotate;
86            float loop;
87            float mouseY;
88            float mouseX;
89            float maxMouseX;
90            float minMouseX;
91            bool moved;
92
93            int emitterRate_;
94    };
95}
96
97#endif
Note: See TracBrowser for help on using the repository browser.