Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/environments/mover_station.h

Last change on this file was 10696, checked in by snellen, 17 years ago

added all the new mover classes

File size: 2.9 KB
Line 
1/*!
2 * @file mover_station.h
3 *  A station for a mover.
4 */
5
6#ifndef _MOVER_STATION_H
7#define _MOVER_STATION_H
8
9#include "world_entity.h"
10#include "sound_buffer.h"
11#include "sound/resource_sound_buffer.h"
12
13
14class MoverStation : public WorldEntity
15{
16    friend class MoverStationList;
17
18    ObjectListDeclaration(MoverStation);
19
20    public:
21        MoverStation(const TiXmlElement* root = NULL);
22        virtual ~MoverStation();
23
24        virtual void loadParams(const TiXmlElement* root);
25
26        void setRank(int id) { this->rank = id; }
27        void setRelTargetCoor(float x = 0, float y = 0, float z = 0) { this->relTargetCoor = Vector(x, y, z); }
28        void setRelTargetDir(float wx = 0, float wy = 0, float wz = 0) { this->relTargetDir = Vector(wx, wy, wz); }
29        void setDelay(float t) { this->delay = t; }
30        void setMovingTime(float t) { this->movingTime = t; }
31        void setStayOpenTime(float t) { this->stayOpenTime = t; }
32        void setAccelerate() { this->bAccelerate = true; }
33        void setDecelerate() { this->bDecelerate = true; }
34        void setJumpToRank(int rank) { this->jumpToRank = rank; this->bJumpToRank = true; }
35        void setMoveToRank(int rank) { this->moveToRank = rank; this->bMoveToRank = true; }
36        void setOpen() { this->bIsOpen = true; }
37        void setClosed() { this->bIsClosed = true; }
38        void setOpeningSoundFile(const std::string& fileName) { this->soundBuffer_opening = OrxSound::ResourceSoundBuffer(fileName); }
39        void setOpenedSoundFile(const std::string& fileName) { this->soundBuffer_opened = OrxSound::ResourceSoundBuffer(fileName); }
40        void setMovingSoundFile(const std::string& fileName) { this->soundBuffer_moving = OrxSound::ResourceSoundBuffer(fileName); }
41        void setClosingSoundFile(const std::string& fileName) { this->soundBuffer_closing = OrxSound::ResourceSoundBuffer(fileName); }
42        void setClosedSoundFile(const std::string& fileName) { this->soundBuffer_closed = OrxSound::ResourceSoundBuffer(fileName); }
43
44    private:
45        int                     rank;
46        Vector                  relTargetCoor;
47        Vector                  relTargetDir;
48        float                   delay;
49        float                   movingTime;
50        float                   stayOpenTime;
51        bool                    bAccelerate;
52        bool                    bDecelerate;
53        int                     jumpToRank;
54        bool                    bJumpToRank;
55        int                     moveToRank;
56        bool                    bMoveToRank;
57        bool                    bIsOpen;
58        bool                    bIsClosed;
59        OrxSound::SoundBuffer   soundBuffer_opening;
60        OrxSound::SoundBuffer   soundBuffer_opened;
61        OrxSound::SoundBuffer   soundBuffer_moving;
62        OrxSound::SoundBuffer   soundBuffer_closing;
63        OrxSound::SoundBuffer   soundBuffer_closed;
64};
65
66
67#endif
Note: See TracBrowser for help on using the repository browser.