Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/story_entities/game_world_data.h @ 9240

Last change on this file since 9240 was 7460, checked in by bensch, 19 years ago

orxonox/trunk: Namespaces for sound

File size: 2.2 KB
Line 
1/*!
2 * @file game_world_data.h
3 *  container for all game world data
4 */
5
6#ifndef _GAME_WORLD_DATA_H
7#define _GAME_WORLD_DATA_H
8
9#include "sdlincl.h"
10#include "data_tank.h"
11#include "error.h"
12#include "object_manager.h"
13
14class Camera;
15class Player;
16class Terrain;
17class WorldEntity;
18
19class GLMenuImageScreen;
20
21namespace OrxSound {class OggPlayer;}
22class GameRules;
23
24
25//! The game world data
26/**
27 * this class is a containter for the data of the GameWorld. It just loads and unloads it
28 * the game start/stop process is not contained here and can be found in the GameWorld class.
29 */
30class GameWorldData : public DataTank
31{
32  public:
33    GameWorldData();
34    virtual ~GameWorldData();
35
36    virtual ErrorMessage init();
37    virtual ErrorMessage loadData(const TiXmlElement* root);
38    virtual ErrorMessage unloadData();
39
40    /* interface functions */
41    void setSoundTrack(const std::string& name);
42    void loadGameRule(const TiXmlElement* root);
43
44  protected:
45    virtual ErrorMessage loadGUI(const TiXmlElement* root);
46    virtual ErrorMessage loadWorldEntities(const TiXmlElement* root);
47    virtual ErrorMessage loadScene(const TiXmlElement* root);
48
49    virtual ErrorMessage unloadGUI();
50    virtual ErrorMessage unloadWorldEntities();
51    virtual ErrorMessage unloadScene();
52
53  public:
54    GLMenuImageScreen*            glmis;          //!< The Level-Loader Display
55
56    Camera*                       localCamera;    //!< The current camera
57    Player*                       localPlayer;    //!< The player, you fly through the level.
58    WorldEntity*                  sky;            //!< The environmental sky of orxonox
59    Terrain*                      terrain;        //!< The terrain - ground
60
61    OrxSound::OggPlayer*          music;          //!< Reference to the SoundEngine's music player (OggPlayer)
62    ObjectManager*                objectManager;  //!< Reference to the objects manager
63
64    GameRules*                    gameRule;       //!< Reference to the game rules of this game
65
66    std::vector<OM_LIST>          tickLists;      //!< The Lists in the GameWorld that should be ticked.
67    std::vector<OM_LIST>          drawLists;      //!< The Lists in the GameWorld, that should be drawn.
68};
69
70#endif /* _GAME_WORLD_DATA_H */
71
Note: See TracBrowser for help on using the repository browser.