00001 #ifndef XCLONE_MAINGAMESTATE_H 00002 #define XCLONE_MAINGAMESTATE_H 00003 00004 #include "GameState.h" 00005 #include "Map.h" 00006 #include "Player.h" 00007 #include "Camera.h" 00008 00009 typedef boost::shared_ptr<Map> spMap; 00010 class MainGameState : public GameState 00011 { 00012 public: 00013 MainGameState(Application* app); 00014 virtual ~MainGameState(); 00015 00016 virtual void deinit(); 00017 virtual void init(); 00018 virtual void update(unsigned int deltaTime); 00019 00020 void processSDLEvent(SDL_Event& event); 00021 00022 bool loadMap(string fileName); 00023 spUnit createUnit(int playerID, int x, int y); 00024 spUnit getActiveUnit(); 00025 spUnit getSelectedUnit(); 00026 void endActiveUnitTurn(); 00027 00028 void focusOnUnit( spUnit u ); 00029 void selectUnit( spUnit u ); 00030 00031 private: 00032 spMap _map; 00033 vector<Player> _players; 00034 list<spUnit> _unitQueue; 00035 spUnit _selectedUnit; 00036 Camera _camera; 00037 }; 00038 00039 #endif