00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00020
00021
00022
00024
00025
00027
00028 #ifndef SAVEMANAGER_H
00029 #define SAVEMANAGER_H
00030
00031 #include "Globals.hpp"
00032 #include "Globals.hpp"
00033 #include "Bitmapfont.hpp"
00034 #include "MenuListField.hpp"
00035 #include <string>
00036 #include <vector>
00037
00038
00040
00041 struct SaveData
00042 {
00043 std::string SaveFile;
00044 std::string ListName;
00045 std::string KampagneName;
00046 int Mission;
00047 int Lives;
00048 };
00049
00053 class CSaveManager
00054 {
00055 public:
00056
00057 CSaveManager();
00058 ~CSaveManager();
00059
00060
00061 void Save(std::string Folder, std::string Campaign, int Mission, int Lives);
00062
00063
00064 void SaveFile(std::string File, std::string Campaign, int Mission, int Lives);
00065
00066
00067
00068 void ReadSavesFromFolder(std::string Folder);
00069
00070
00071 std::size_t GetSaveCount() const { return m_SaveData.size(); }
00072
00073
00074 SaveData* GetSaveData(std::size_t Index)
00075 {
00076 if(Index >= m_SaveData.size())
00077 {
00078 return NULL;
00079 }
00080
00081 return m_SaveData[Index];
00082 }
00083
00084
00085 SaveData* ReadSave(std::string FileName);
00086 private:
00087 void CleanUp();
00088
00089 std::vector<SaveData*> m_SaveData;
00090 };
00091
00092 #endif
00093