Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 7020 was 7020, checked in by patrick, 18 years ago

trunk: added the game rules

File size: 2.0 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
13
14class Camera;
15class Player;
16class Terrain;
17class WorldEntity;
18class ObjectManager;
19
20class GLMenuImageScreen;
21
22class TiXmlElement;
23class OggPlayer;
24class GameRules;
25
26
27//! The game world data
28/**
29 * this class is a containter for the data of the GameWorld. It just loads and unloads it
30 * the game start/stop process is not contained here and can be found in the GameWorld class.
31 */
32class GameWorldData : public DataTank
33{
34
35  public:
36    GameWorldData();
37    virtual ~GameWorldData();
38
39    virtual ErrorMessage init();
40    virtual ErrorMessage loadData(TiXmlElement* root);
41    virtual ErrorMessage unloadData();
42
43    /* interface functions */
44    void setSoundTrack(const char* name);
45    void loadGameRule(const TiXmlElement* root);
46
47  protected:
48    virtual ErrorMessage loadGUI(TiXmlElement* root);
49    virtual ErrorMessage loadWorldEntities(TiXmlElement* root);
50    virtual ErrorMessage loadScene(TiXmlElement* root);
51
52    virtual ErrorMessage unloadGUI();
53    virtual ErrorMessage unloadWorldEntities();
54    virtual ErrorMessage unloadScene();
55
56  public:
57    GLMenuImageScreen*  glmis;                       //!< The Level-Loader Display
58
59    Camera*             localCamera;                 //!< The current camera
60    Player*             localPlayer;                 //!< The player, you fly through the level.
61    WorldEntity*        sky;                         //!< The environmental sky of orxonox
62    Terrain*            terrain;                     //!< The terrain - ground
63
64    OggPlayer*          music;                       //!< Reference to the SoundEngine's music player (OggPlayer)
65    ObjectManager*      objectManager;               //!< Reference to the objects manager
66
67    GameRules*          gameRule;                   //!< Reference to the game rules of this game
68};
69
70#endif /* _GAME_WORLD_DATA_H */
71
Note: See TracBrowser for help on using the repository browser.