Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/npcs/npc.h @ 10440

Last change on this file since 10440 was 10440, checked in by patrick, 17 years ago

making weapons loadable

File size: 1.5 KB
RevLine 
[1853]1
[3224]2#ifndef _NPC_H
3#define _NPC_H
[1853]4
[2036]5#include "world_entity.h"
[10376]6#include "ai_module.h"
7#include "world_entities/weapons/weapon_manager.h"
[1853]8
[2036]9class AI;
[1904]10
[10376]11class NPC : public WorldEntity
12{
[9869]13  ObjectListDeclaration(NPC);
[10376]14
15public:
16  NPC(const TiXmlElement* root = NULL);
[6981]17  virtual ~NPC ();
[1853]18
[10376]19  virtual void loadParams(const TiXmlElement* root);
[1899]20
21
[10440]22  void addWeapons(const TiXmlElement* root);
[10376]23  bool addWeapon(Weapon* weapon, int configID = -1, int slotID = -1);
24  void removeWeapon(Weapon* weapon);
25  void nextWeaponConfig();
26  void previousWeaponConfig();
27  inline WeaponManager& getWeaponManager() { return this->weaponMan; };
[5029]28
[10376]29
30  virtual void tick(float dt);
31  inline int getTeam()  { return teamNumber; }
32  inline void fire(){ this->bFire=true;}
33
[10440]34  inline void enableAI() { this->bAIEnabled = true; }
[10376]35
36private:
37  inline void setTeamNumber(int number) { teamNumber=number; }
38  inline void setSwarmNumber(int number) { swarmNumber=number; }
39  inline void setMaxSpeed(float number) { maxSpeed=number; }
40  inline void setAttackDistance(float number) { attackDistance=number; }
41
[1858]42 private:
[5029]43
[10376]44  int                   teamNumber;   //!< number of the team
45  int                   swarmNumber;  //!< number of the swarm
46  int                   difficulty;   //!< difficulty
47  float                                         maxSpeed;
48  float                                         attackDistance;
49
50  WeaponManager         weaponMan;    //!< weapon manager
51  bool                  bFire;        //!< fire
52
53  AIModule*             aiModule;
[10440]54
55  bool                  bAIEnabled;   //!< true is AI enabled
[1853]56};
57
[3224]58#endif /* _NPC_H */
Note: See TracBrowser for help on using the repository browser.