Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/presentation/src/world_entities/npcs/actionbox_enemy.h @ 10761

Last change on this file since 10761 was 10739, checked in by rennerc, 18 years ago

die enemy die

File size: 1.5 KB
Line 
1
2#ifndef _NPC_H
3#define _NPC_H
4
5#include "world_entity.h"
6#include "world_entities/weapons/weapon_manager.h"
7#include "track/action_box.h"
8
9class ActionboxEnemy : public WorldEntity
10{
11  ObjectListDeclaration(ActionboxEnemy);
12
13  public:
14    ActionboxEnemy(const TiXmlElement* root = NULL);
15    virtual ~ActionboxEnemy ();
16 
17    virtual void tick(float dt);
18    virtual void draw() const;
19
20    virtual void loadParams(const TiXmlElement* root);
21   
22    virtual void destroy( WorldEntity* killer );
23   
24  private:
25    bool  isActive;
26    float pitch;      // rotate angle around x-axix
27    float dPitch;     // change pitch += dPitch*dt
28    Quaternion qPitch;
29   
30    float acceleration;
31    float maxSpeed;
32    float speed;
33    float agility;
34   
35    void setAcceleration( float f ){ this->acceleration = f; }
36    void setMaxSpeed( float f ){ this->maxSpeed = f; }
37    void setAgility( float f ){ this->agility = f; }
38    void setActive( bool b ){ this->isActive = b; }
39   
40    Quaternion myDir;
41    Vector     myCoor;
42   
43    bool       bFire;
44   
45    Vector     escapePoint;
46    bool       onEscape;
47    bool       escaped;
48    Vector     endPoint;
49   
50    void setEndPoint( float x, float y, float z ){ endPoint = Vector(x, y, z); }
51   
52    void attackPlayer( ActionBox* box, float dt );
53    void moveTowardsBox( ActionBox* box, float dt );
54    void moveTowards( Vector targetPos, Vector targetDir, float dt );
55   
56    WeaponManager         weaponMan;      //!< the weapon manager: managing a list of energy weapons to wepaon-slot mapping
57};
58
59#endif
Note: See TracBrowser for help on using the repository browser.