00001 #ifndef __GAMEMANAGER_H 00002 #define __GAMEMANAGER_H 00003 00004 class GameManager 00005 { 00006 private: 00007 SoundManager *sound_manager; 00008 MenuManager *menu_manager; 00009 ScoreManager *score_manager; 00010 Display *display; 00011 Effect *effect; 00012 Input *input; 00013 GameTimer *game_timer; 00014 int nlevels; 00015 Level *level; 00016 int level_number; 00017 int nanimationsinfo; 00018 AnimationInfo **animationsinfo; 00019 int ntilesinfo; 00020 TileInfo **tilesinfo; 00021 int nobjectsinfo; 00022 ObjectInfo **objectsinfo; 00023 int npathsinfo; 00024 Path **pathsinfo; 00025 int last_time; 00026 int frames; 00027 int fps; 00028 list<string> credits; 00029 list<string> keys; 00030 Path *test_path; 00031 int xposition; 00033 public: 00034 GameManager(); 00035 ~GameManager(); 00036 void InitSDLSysem(); 00037 void LoadGameData(); 00038 void LoadLevel(); 00039 list<string> LoadInfo( char *filename ); 00040 int RunLevel( SDL_NewTimerCallback callback ); 00041 void NoAction( int interval ); 00042 void Action( int interval ); 00043 void MoveCamera(); 00044 void DrawPlayerConditionIndicators(); 00045 void ShowLevelMap( int map_number ); 00046 void FPSCounter(); 00047 bool ManageMenu(); 00048 bool ManageResult( int result ); 00049 void StartGame(); 00050 void DrawBlackPlane(); 00051 void LinkToObjectInfo( ObjectInfo *objinfo ); 00052 void LinkToMissileInfo( MissileInfo *missileinfo ); 00053 void LinkToAnimationInfo( AnimationInfo *animinfo ); 00054 void LinkToTileInfo( TileInfo *tileinfo ); 00055 void LinkToPath( Path *path ); 00056 Path *GetTestPath(); 00057 Input *GetInput(); 00058 int GetTime(); 00059 int GetXPosition(); 00060 Display *GetDisplay(); 00061 AnimationInfo **GetAnimationsInfo(); 00062 TileInfo **GetTilesInfo(); 00063 ObjectInfo **GetObjectsInfo(); 00064 Path **GetPathsInfo(); 00065 }; 00066 00067 #endif /* __GAMEMANAGER_H */