Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/world_entities/space_ships/turbine_hover.h @ 9500

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

compiles again, the Playables should now be able to choose their design per team

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  public:
21    TurbineHover(const std::string& fileName);
22    TurbineHover(const TiXmlElement* root = NULL);
23    virtual ~TurbineHover();
24
25    void setBoostColor(const Color& color);
26
27    virtual void loadParams(const TiXmlElement* root);
28    virtual void setPlayDirection(const Quaternion& rot, float speed = 0.0f);
29    virtual void enter();
30    virtual void leave();
31
32    virtual void setTeam(int teamID);
33
34    virtual void postSpawn();
35    virtual void leftWorld();
36
37    virtual void collidesWith(WorldEntity* entity, const Vector& location);
38    virtual void tick(float dt);
39    virtual void draw() const;
40
41    virtual void process(const Event &event);
42
43  private:
44    void init();
45    void movement(float dt);
46
47  private:
48    bool                  bForward;           //!< forward button pressed.
49    bool                  bBackward;          //!< backward button pressed.
50    bool                  bLeft;              //!< left button pressed.
51    bool                  bRight;             //!< right button pressed.
52    bool                  bAscend;            //!< ascend button pressed.
53    bool                  bDescend;           //!< descend button presses.
54
55    int                   yInvert;
56    float                 mouseSensitivity;   //!< the mouse sensitivity
57
58    PNode                 wingNodeLeft;
59    PNode                 wingNodeRight;
60    PNode                 rotorNodeLeft;
61    PNode                 rotorNodeRight;
62
63    PNode                 cameraNode;
64    float                 cameraLook;
65    float                 rotation;
66
67   // Vector                velocity;           //!< the velocity of the TurbineHover.
68    Quaternion            direction;          //!< the direction of the TurbineHover.
69    float                 travelSpeed;        //!< the current speed of the Hove (to make soft movement)
70    float                 acceleration;       //!< the acceleration of the TurbineHover.
71    float                 airFriction;        //!< AirFriction.
72
73    float                 rotorSpeed;         //!< the speed of the rotor.
74    float                 rotorCycle;         //!< The Cycle the rotor is in.
75
76    float                 airViscosity;
77
78    ParticleEmitter*      burstEmitter[2];
79    ParticleSystem*       burstSystem;
80};
81
82#endif /* _TURBINE_HOVERS_H */
Note: See TracBrowser for help on using the repository browser.