Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/adm/src/world_entities/npcs/adm_turret.h @ 10688

Last change on this file since 10688 was 10688, checked in by rennerc, 17 years ago

visibility check for player in adm

File size: 1.9 KB
Line 
1/*
2* file groundTurret.h
3* A weapon that is fix located, and automatically shooting at a target.
4*/
5
6#ifndef _ADM_TURRET_H
7#define _ADM_TURRET_H
8
9//#include "sound_buffer.h"
10//#include "sound_source.h"
11
12#include "world_entity.h"
13#include "weapons/light_blaster.h"
14
15class AdmTurret : public WorldEntity
16      {
17                   ObjectListDeclaration(AdmTurret);
18      public:
19                   AdmTurret ();
20                   AdmTurret (const  TiXmlElement* root);
21                   virtual ~AdmTurret();
22                   
23                   void init();
24                   void loadParams(const TiXmlElement* root);
25                   
26                   virtual void tick(float dt);
27                   virtual void draw() const;
28                   virtual void collidesWith(WorldEntity* entity, const Vector& location);
29                   
30                   virtual void activate();
31                   virtual void deactivate();
32                   
33                   virtual void setTarget(const std::string& target);
34                   
35      private:
36                   WorldEntity* cannons;
37                   WorldEntity* sensor;
38                   WorldEntity* myTarget;
39                   bool isVisible(const WorldEntity myTarget);
40                   float aim(const WorldEntity Target);
41                   void fire();
42
43                   void addCannons(const TiXmlElement* root);
44                   void addSensor(const TiXmlElement* root);
45
46                   void moveTowards( Vector targetDir, float dt );
47                   
48                   float bodyAngle;
49                   float cannonAngle;
50                   
51                   bool isActive;
52                   float range;
53                   
54                   bool isCeil;
55                   void setType( const std::string& type );
56                   
57                   bool bFire;
58                   bool playerVisible;
59                   void updatePlayerVisible();
60      };
61
62#endif
Note: See TracBrowser for help on using the repository browser.