Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/creatures/fps_player.h

Last change on this file was 10698, checked in by snellen, 17 years ago

merged adm, hud, vs-enhancements : beni's responsible for this commit. blame him!

File size: 2.3 KB
Line 
1/*!
2 * @file fps_player.h
3 * Implements a playable for fps games
4 */
5
6#ifndef _FPS_PLAYER_H
7#define _FPS_PLAYER_H
8
9
10#include "playable.h"
11
12
13class AimingSystem;
14
15
16class FPSPlayer : public Playable
17{
18  ObjectListDeclaration(FPSPlayer);
19
20  public:
21    FPSPlayer(const TiXmlElement* root = NULL);
22    virtual ~FPSPlayer();
23
24    virtual void loadParams(const TiXmlElement* root);
25
26    virtual void setPlayDirection(const Quaternion& rot, float speed = 0.0f);
27
28    virtual void enter();
29    virtual void leave();
30
31    virtual void reset();
32
33    virtual void destroy(WorldEntity* killer);
34    virtual void respawn();
35
36    virtual void tick(float time);
37    virtual void draw() const;
38   
39    void displayHUDText( const std::string& message );
40
41
42    virtual void process(const Event &event);
43
44  private:
45    void init();
46
47    bool                  bLeft;             //!< strafe left
48    bool                  bRight;            //!< strafe right
49    bool                  bForward;          //!< walk forward
50    bool                  bBackward;         //!< walk backward
51    bool                  bJump;             //!< jumping
52    bool                  bPosBut;           //!< position button
53    bool                  bFire;             //!< fire button
54    bool                  bFire2;            //!< alternate fire button
55    bool                  bCrouch;           //!< crouch button
56
57    float                 xMouse;            //!< mouse moved in x-Direction
58    float                 yMouse;            //!< mouse moved in y-Direction
59
60
61    float                 heading;           //!< the direction where the player heads to
62    float                 attitude;          //!< defines the camera angle to the x-z-plane
63
64    PNode                 cameraNode;        //!< the "eyes" of the player (or call it head if you want)
65
66    float                 fallVelocity;      //!< velocity for falling down
67    float                 jumpAcceleration;  //!< the jump acceleration
68
69    bool                  initWeapon;
70    bool                  changeZoom;        //!< zoom sight of player
71    bool                  inZoomMode;        //!< zoomsight
72    bool                  changingZoom;
73
74    AimingSystem*         aimingSystem;      //!< aiming system of the player
75
76    float                 damageTicker;      //!< ticker for dealing damage
77   
78};
79
80#endif
Note: See TracBrowser for help on using the repository browser.