00001 #ifndef __CLIENT_H__ 00002 #define __CLIENT_H__ 00003 00004 #include "OgreCEGUIRenderer.h" 00005 #include "OgreRenderWindow.h" 00006 #include "OgreString.h" 00007 #include "OgreColourValue.h" 00008 00009 #include "CEGUISystem.h" 00010 #include "CEGUIWindow.h" 00011 00012 using Ogre::ColourValue; 00013 using Ogre::String; 00014 using Ogre::RenderWindow; 00015 00016 namespace ASR 00017 { 00018 class RTSCamera; 00019 class RTSCameraUpdater; 00020 class UnitSelecter; 00021 class Team; 00022 class ClientUpdater; 00023 00024 // ---------------------------------------------------------------------------- 00025 class Client 00026 { 00027 friend class ClientUpdater; 00028 00029 // Data Storage 00030 // ---------------------------------------------------------------------------- 00031 private: 00032 RTSCamera* mRTSCamera; 00033 RTSCameraUpdater* mCameraUpdater; 00034 UnitSelecter* mUnitSelecter; 00035 00036 Team* mTeam; 00037 ClientUpdater* mUpdater; 00038 00039 00040 // GUI 00041 RenderWindow* mWindow; 00042 CEGUI::OgreCEGUIRenderer* mGUIRenderer; 00043 CEGUI::System* mGUISystem; 00044 CEGUI::Window* mGUIWindow; 00045 00046 // Construction 00047 // ---------------------------------------------------------------------------- 00048 public: 00049 Client ( RenderWindow* window ); 00050 ~Client (); 00051 00052 void createCamera (); 00053 Team* createTeam ( const String& teamName, const ColourValue& teamColor ); 00054 00055 00056 // Helper Methods 00057 // ---------------------------------------------------------------------------- 00058 private: 00059 void _createGUI (); 00060 }; 00061 } 00062 00063 #endif