2013-11-19 14:38:26 +00:00
|
|
|
#ifndef GAME_STATE_CHARACTERMANAGER_H
|
|
|
|
#define GAME_STATE_CHARACTERMANAGER_H
|
|
|
|
|
|
|
|
#include <boost/filesystem/path.hpp>
|
|
|
|
|
|
|
|
#include "character.hpp"
|
|
|
|
|
|
|
|
namespace MWState
|
|
|
|
{
|
|
|
|
class CharacterManager
|
|
|
|
{
|
|
|
|
boost::filesystem::path mPath;
|
|
|
|
int mNext;
|
|
|
|
std::vector<Character> mCharacters;
|
|
|
|
Character *mCurrent;
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
CharacterManager (const CharacterManager&);
|
|
|
|
///< Not implemented
|
|
|
|
|
|
|
|
CharacterManager& operator= (const CharacterManager&);
|
|
|
|
///< Not implemented
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
CharacterManager (const boost::filesystem::path& saves);
|
|
|
|
|
|
|
|
Character *getCurrentCharacter();
|
2013-11-21 09:20:50 +00:00
|
|
|
///< A character is implicitly created, if there is none.
|
2013-11-19 14:38:26 +00:00
|
|
|
|
|
|
|
void createCharacter();
|
|
|
|
///< Create new character within saved game management
|
2013-11-21 09:20:50 +00:00
|
|
|
|
|
|
|
void clearCurrentCharacter();
|
2013-11-19 14:38:26 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|