OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
statemanagerimp.hpp
Go to the documentation of this file.
1 #ifndef GAME_STATE_STATEMANAGER_H
2 #define GAME_STATE_STATEMANAGER_H
3 
4 #include <map>
5 
6 #include "../mwbase/statemanager.hpp"
7 
8 #include <boost/filesystem/path.hpp>
9 
10 #include "charactermanager.hpp"
11 
12 namespace MWState
13 {
15  {
20  double mTimePlayed;
21 
22  private:
23 
24  void cleanup (bool force = false);
25 
26  bool verifyProfile (const ESM::SavedGame& profile) const;
27 
28  void writeScreenshot (std::vector<char>& imageData) const;
29 
30  std::map<int, int> buildContentFileIndexMap (const ESM::ESMReader& reader) const;
31 
32  public:
33 
34  StateManager (const boost::filesystem::path& saves, const std::string& game);
35 
36  virtual void requestQuit();
37 
38  virtual bool hasQuitRequest() const;
39 
40  virtual void askLoadRecent();
41 
42  virtual State getState() const;
43 
44  virtual void newGame (bool bypass = false);
48 
49  virtual void endGame();
50 
51  virtual void resumeGame();
52 
53  virtual void deleteGame (const MWState::Character *character, const MWState::Slot *slot);
55 
56  virtual void saveGame (const std::string& description, const Slot *slot = 0);
60 
62 
64  virtual void quickSave(std::string name = "Quicksave");
65 
67 
68  virtual void quickLoad();
69 
70  virtual void loadGame (const std::string& filepath);
74 
75  virtual void loadGame (const Character *character, const std::string &filepath);
77 
78  virtual Character *getCurrentCharacter ();
80 
84 
86 
87  virtual void update (float duration);
88  };
89 }
90 
91 #endif
std::map< int, int > buildContentFileIndexMap(const ESM::ESMReader &reader) const
Definition: statemanagerimp.cpp:65
void writeScreenshot(std::vector< char > &imageData) const
Definition: statemanagerimp.cpp:647
virtual void requestQuit()
Definition: statemanagerimp.cpp:96
Definition: character.hpp:19
Definition: esmreader.hpp:21
std::list< MWState::Character >::const_iterator CharacterIterator
Definition: statemanager.hpp:27
virtual void askLoadRecent()
Definition: statemanagerimp.cpp:106
virtual void resumeGame()
Definition: statemanagerimp.cpp:178
Definition: savedgame.hpp:14
virtual State getState() const
Definition: statemanagerimp.cpp:134
CharacterManager mCharacterManager
Definition: statemanagerimp.hpp:19
virtual bool hasQuitRequest() const
Definition: statemanagerimp.cpp:101
Definition: statemanagerimp.hpp:14
virtual void loadGame(const std::string &filepath)
Definition: statemanagerimp.cpp:357
State mState
Definition: statemanagerimp.hpp:18
StateManager()
Definition: statemanager.hpp:39
Interface for game state manager (implemented in MWState)
Definition: statemanager.hpp:16
State
Definition: statemanager.hpp:20
virtual void newGame(bool bypass=false)
Definition: statemanagerimp.cpp:139
virtual void quickLoad()
Loads the last saved file.
Definition: statemanagerimp.cpp:565
virtual Character * getCurrentCharacter()
Definition: statemanagerimp.cpp:580
virtual void endGame()
Definition: statemanagerimp.cpp:173
virtual CharacterIterator characterBegin()
Definition: statemanagerimp.cpp:585
double mTimePlayed
Definition: statemanagerimp.hpp:20
void cleanup(bool force=false)
Definition: statemanagerimp.cpp:44
bool verifyProfile(const ESM::SavedGame &profile) const
Definition: statemanagerimp.cpp:620
bool mAskLoadRecent
Definition: statemanagerimp.hpp:17
bool mQuitRequest
Definition: statemanagerimp.hpp:16
virtual void deleteGame(const MWState::Character *character, const MWState::Slot *slot)
Delete a saved game slot from this character. If all save slots are deleted, the character will be de...
Definition: statemanagerimp.cpp:575
virtual void saveGame(const std::string &description, const Slot *slot=0)
Definition: statemanagerimp.cpp:183
virtual CharacterIterator characterEnd()
Definition: statemanagerimp.cpp:590
virtual void update(float duration)
Definition: statemanagerimp.cpp:595
Definition: charactermanager.hpp:10
Definition: character.hpp:10
virtual void quickSave(std::string name="Quicksave")
Saves a file, using supplied filename, overwritting if needed.
Definition: statemanagerimp.cpp:325
const char * name
Definition: crashcatcher.cpp:67