source:
orxonox.OLD/trunk/src/world_entities/weapons/aiming_system.h
@
10365
Last change on this file since 10365 was 9869, checked in by bensch, 18 years ago | |
---|---|
File size: 1.0 KB |
Rev | Line | |
---|---|---|
[9156] | 1 | /*! |
2 | * @file aiming_system.h | |
3 | * Definition of | |
4 | */ | |
5 | ||
6 | #ifndef _AIMING_SYSTEM_H | |
7 | #define _AIMING_SYSTEM_H | |
8 | ||
9 | ||
[9160] | 10 | #include "world_entity.h" |
11 | ||
12 | ||
13 | ||
[9156] | 14 | // FORWARD DECLARATION |
15 | class TiXmlElement; | |
[9160] | 16 | class BVTree; |
17 | class Model; | |
[9172] | 18 | class OBBTree; |
[9156] | 19 | |
20 | ||
[9160] | 21 | class AimingSystem : public WorldEntity |
[9156] | 22 | { |
[9869] | 23 | ObjectListDeclaration(AimingSystem); |
[9156] | 24 | |
25 | public: | |
[9168] | 26 | AimingSystem(WorldEntity* owner = NULL); |
[9156] | 27 | virtual ~AimingSystem(); |
28 | ||
29 | void init(); | |
30 | ||
[9166] | 31 | WorldEntity* getNearestTarget(); |
[9172] | 32 | void flushList() { this->selectionList.clear(); } |
[9156] | 33 | |
34 | void setRange(float range){this->range = range;}; | |
35 | ||
[9186] | 36 | virtual void hit(float damage, WorldEntity* killer); |
37 | virtual void destroy(WorldEntity* entity) {} | |
[9156] | 38 | |
39 | virtual void tick(float dt); | |
40 | virtual void draw() const; | |
41 | ||
[9157] | 42 | |
[9156] | 43 | private: |
[9160] | 44 | float range; //!< |
[9172] | 45 | float sideLength; |
[9160] | 46 | std::vector<WorldEntity*> selectionList; //!< the selections |
[9156] | 47 | |
[9168] | 48 | WorldEntity* owner; //!< the owner of the targeting system |
[9160] | 49 | |
[9172] | 50 | OBBTree* obbTree; |
51 | ||
[9156] | 52 | }; |
53 | ||
54 | #endif /* _AIMING_SYSTEM_H */ |
Note: See TracBrowser
for help on using the repository browser.