Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/volumetric_fog/src/world_entities/space_ships/turbine_hover.h

Last change on this file was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 2.5 KB
Line 
1
2/*!
3 * @file turbine_hover.h
4 * Implements the Control of a TurbineHover
5 */
6
7#ifndef _TURBINE_HOVER_H
8#define _TURBINE_HOVER_H
9
10#include "playable.h"
11
12#include "color.h"
13
14// Forward Declaration
15class ParticleEmitter;
16class ParticleSystem;
17
18class TurbineHover : public Playable
19{
20  ObjectListDeclaration(TurbineHover);
21public:
22  TurbineHover(const std::string& fileName);
23  TurbineHover(const TiXmlElement* root = NULL);
24  virtual ~TurbineHover();
25
26  void setBoostColor(const Color& color);
27
28  virtual void loadParams(const TiXmlElement* root);
29  virtual void setPlayDirection(const Quaternion& rot, float speed = 0.0f);
30  virtual void enter();
31  virtual void leave();
32
33  virtual void setTeam(int teamID);
34
35  virtual void postSpawn();
36  virtual void leftWorld();
37  virtual void respawn();
38
39  virtual void collidesWith(WorldEntity* entity, const Vector& location);
40  virtual void tick(float dt);
41  virtual void draw() const;
42
43  virtual void process(const Event &event);
44
45private:
46  void init();
47  void movement(float dt);
48
49private:
50  bool                  bForward;           //!< forward button pressed.
51  bool                  bBackward;          //!< backward button pressed.
52  bool                  bLeft;              //!< left button pressed.
53  bool                  bRight;             //!< right button pressed.
54  bool                  bAscend;            //!< ascend button pressed.
55  bool                  bDescend;           //!< descend button presses.
56
57  int                   yInvert;
58  float                 mouseSensitivity;   //!< the mouse sensitivity
59
60  PNode                 wingNodeLeft;
61  PNode                 wingNodeRight;
62  PNode                 rotorNodeLeft;
63  PNode                 rotorNodeRight;
64
65  PNode                 cameraNode;
66  float                 cameraLook;
67  float                 rotation;
68
69  // Vector                velocity;           //!< the velocity of the TurbineHover.
70  Quaternion            direction;          //!< the direction of the TurbineHover.
71  float                 travelSpeed;        //!< the current speed of the Hove (to make soft movement)
72  float                 acceleration;       //!< the acceleration of the TurbineHover.
73  float                 airFriction;        //!< AirFriction.
74
75  float                 rotorSpeed;         //!< the speed of the rotor.
76  float                 rotorCycle;         //!< The Cycle the rotor is in.
77
78  float                 airViscosity;
79
80  ParticleEmitter*      burstEmitter[2];
81  ParticleSystem*       burstSystem;
82};
83
84#endif /* _TURBINE_HOVERS_H */
Note: See TracBrowser for help on using the repository browser.