source:
orxonox.OLD/trunk/src/world_entities/door.h
@
  8979
        
        | Last change on this file since 8979 was 8894, checked in by patrick, 19 years ago | |
|---|---|
| File size: 1.2 KB | |
| Rev | Line | |
|---|---|---|
| [8872] | 1 | #ifndef _DOOR_H | 
| 2 | #define _DOOR_H | |
| [8870] | 3 | |
| 4 | #include "world_entity.h" | |
| 5 | ||
| [8880] | 6 | #include "md2/md2Model.h" | 
| [8872] | 7 | |
| [8870] | 8 | class TiXmlElement; | 
| 9 | ||
| [8872] | 10 | |
| [8880] | 11 | //! animation names enumeration | 
| 12 | typedef enum DoorAnimType | |
| 13 | { | |
| [8881] | 14 | DOOR_OPEN = 0, | 
| 15 | DOOR_CLOSE, | |
| [8880] | 16 | |
| [8881] | 17 | DOOR_MAX_ANIMATIONS | 
| [8880] | 18 | }; | 
| 19 | ||
| 20 | ||
| [8872] | 21 | class Door : public WorldEntity | 
| [8870] | 22 | { | 
| [8872] | 23 | public: | 
| 24 | Door (); | |
| 25 | Door(const TiXmlElement* root); | |
| 26 | virtual ~Door (); | |
| [8870] | 27 | |
| [8872] | 28 | virtual void loadParams(const TiXmlElement* root); | 
| [8870] | 29 | |
| [8875] | 30 | void setActionRadius(float radius) { this->actionRadius = radius; } | 
| [8890] | 31 | void setScale(float scale) { this->scale = scale; } | 
| [8870] | 32 | |
| [8875] | 33 | void open(); | 
| 34 | void close(); | |
| 35 | ||
| [8876] | 36 | void lock() { this->bLocked = true; } | 
| 37 | void unlock() { this->bLocked = false; } | |
| 38 | bool isLocked() const { return this->bLocked; } | |
| 39 | ||
| 40 | ||
| [8880] | 41 | virtual void tick (float time); | 
| 42 | ||
| 43 | ||
| [8872] | 44 | private: | 
| [8874] | 45 | bool checkOpen(); | 
| [8880] | 46 | void setAnimation(int animNum, int playbackMode = 0); | 
| [8870] | 47 | |
| [8876] | 48 | |
| [8872] | 49 | private: | 
| 50 | bool bOpen; //!< true if the door is open | |
| [8876] | 51 | bool bLocked; //!< true if this door is locked | 
| [8875] | 52 | float actionRadius; //!< action radius | 
| [8890] | 53 | float scale; //!< the scale of the model | 
| [8870] | 54 | |
| [8880] | 55 | static sAnim animationList[2]; //!< list of the animations | 
| [8876] | 56 | |
| [8890] | 57 | |
| [8870] | 58 | }; | 
| 59 | ||
| [8872] | 60 | #endif /* _DOOR_H */ | 
Note: See TracBrowser
        for help on using the repository browser.
    


            






