Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entities/player.h @ 4954

Last change on this file since 4954 was 4954, checked in by bensch, 19 years ago

orxonox/trunk: doxygen-tags (and flush)

File size: 2.1 KB
Line 
1/*!
2 * @file player.h
3 * Implements a basic controllable WorldEntity
4 */
5
6#ifndef _PLAYER_H
7#define _PLAYER_H
8
9#include "world_entity.h"
10#include "physics_interface.h"
11#include "event_listener.h"
12
13template<class T> class tList;
14class Weapon;
15class WeaponManager;
16class Vector;
17class Event;
18
19//! Basic controllable WorldEntity
20/**
21  *  this is the debug player - actualy we would have to make a new
22     class derivated from Player for each player. for now, we just use
23     the player.cc for debug also
24*/
25class Player : public WorldEntity, public PhysicsInterface, public EventListener
26{
27  friend class World;
28
29  public:
30    Player();
31    Player(const TiXmlElement* root);
32    virtual ~Player();
33
34    void init();
35    void loadParams(const TiXmlElement* root);
36
37    void addWeapon(Weapon* weapon);
38    void removeWeapon(Weapon* weapon);
39
40    virtual void postSpawn();
41    virtual void leftWorld();
42    virtual void hit(WorldEntity* weapon, Vector* loc);
43    virtual void collide(WorldEntity* other, Uint32 ownhitflags, Uint32 otherhitflags);
44
45    virtual void tick(float time);
46    virtual void draw();
47
48    virtual void process(const Event &event);
49
50
51  private:
52    void move(float time);
53    void weaponAction();
54
55
56  private:
57    bool                  bUp;                //!< up button pressed.
58    bool                  bDown;              //!< down button pressed.
59    bool                  bLeft;              //!< left button pressed.
60    bool                  bRight;             //!< right button pressed.
61    bool                  bAscend;            //!< ascend button pressed.
62    bool                  bDescend;           //!< descend button presses.
63    bool                  bFire;              //!< fire button pressed.
64
65    WeaponManager*        weaponMan;          //!< the weapon manager: managing a list of weapon to wepaon-slot mapping
66
67    Vector*               velocity;           //!< the velocity of the player.
68    float                 travelSpeed;        //!< the current speed of the player (to make soft movement)
69    float                 acceleration;       //!< the acceleration of the player.
70};
71
72#endif /* _PLAYER_H */
Note: See TracBrowser for help on using the repository browser.