00001 /* 00002 _/_/_/ _/_/_/ _/_/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ 00003 _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ 00004 _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ 00005 _/_/_/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/ _/_/_/_/ _/ _/ _/_/_/_/ 00006 _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ 00007 _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ 00008 _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ 00009 _/_/_/_/ _/_/_/ _/ _/ _/ _/_/_/ _/_/_/_/ _/ _/ _/_/_/ _/ _/ 00010 00011 \author Hannosset Christophe 00012 \date 22 - Oct - 2003 00013 */ 00014 00015 #if !defined( __MAINGAME_H__ ) 00016 #define __MAINGAME_H__ 00017 00018 class Galaxy; 00019 class PlayGame; 00020 00021 class MainGame : public View , public Rsrc , public Thread { 00022 private: 00023 00024 Form *f; 00025 00026 Mix_Music *wave; 00027 vector<BqBase *> links; 00028 vector<Thread *> initTasks; 00029 00030 public: 00031 00032 static Galaxy *galaxy; 00033 static PlayGame *game; 00034 00035 MainGame( const XRect r , const string &appName ); 00036 00037 virtual ~MainGame( void ); 00038 00039 virtual const bool SetupWindow( const Message &msg ); 00040 00041 const bool InitDone( void ); 00042 00043 protected: 00044 00045 virtual const bool MainLoop( void ); 00046 00047 virtual const bool evMouseLClick( const CtrlMessage &msg ); 00048 virtual const bool evMouseButtonDown( const MouseMessage &msg ); 00049 00050 virtual const bool evMessage( const UserMessage &msg ); 00051 00052 private: 00053 00054 void EnableWindow( void ); 00055 void PlayIntro( void ); 00056 }; 00057 00058 class StarSystem; 00059 00060 Galaxy &GetGalaxy( void ); 00061 PlayGame &GetGame( void ); 00062 00063 #endif