Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

added all the new mover classes

File size: 1.8 KB
Line 
1/*!
2 * @file mover_station_list.h
3 *  A list to store and handle several stations.
4 */
5
6#ifndef _MOVER_STATION_LIST_H
7#define _MOVER_STATION_LIST_H
8
9#include "mover_station.h"
10#include "sound_buffer.h"
11
12
13class MoverStationListElement
14{
15    public:
16        MoverStationListElement(MoverStation *station);
17        ~MoverStationListElement();
18
19        MoverStation *station;
20        MoverStationListElement *next;
21        MoverStationListElement *prev;
22};
23
24
25class MoverStationList
26{
27    public:
28        MoverStationList();
29        ~MoverStationList();
30
31        void addStation(MoverStation *station);
32        MoverStation *getNextStation(MoverStation *station);
33        Vector getTotalRelCoor(MoverStation *station);
34        Vector getTotalRelDir(MoverStation *station);
35        bool isOpen(MoverStation *station);
36        bool isClosed(MoverStation *station);
37        bool changeDirection(bool bReopen, bool bRelocse, bool bIsTriggered);
38
39        Vector getRelTargetCoor(MoverStation *station);
40        Vector getRelTargetDir(MoverStation *station);
41        float getDelay(MoverStation *station) { return station->delay; }
42        float getStayOpenTime(MoverStation *station) { return station->stayOpenTime; }
43        float getMovingTime(MoverStation *station) { return station->movingTime; }
44        Vector getVelocity(MoverStation *station);
45        Vector getRotation(MoverStation *station);
46        OrxSound::SoundBuffer getStartingSound(MoverStation *station);
47        OrxSound::SoundBuffer getMovingSound(MoverStation *station);
48        OrxSound::SoundBuffer getEndingSound(MoverStation *station);
49
50    private:
51        MoverStation *getStation(int rank);
52       
53        MoverStationListElement *first;
54        MoverStationListElement *last;
55        bool goForward;
56};
57
58
59#endif
Note: See TracBrowser for help on using the repository browser.