Fission FSN
Loading...
Searching...
No Matches
fsCProfileManager.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 27/3/2014 14:28
4*
5* File: fsCProfileManager.h
6*
7* Author: Mick Waites
8*
9* Purpose: To manage all saved data.
10*
11*********************************************************************/
12
13#ifndef fsCProfileManagerhdr
14#define fsCProfileManagerhdr
15
16#include <memory>
17
20
21class fsStr;
25
27{
28 friend class fsCInputSession;
29
30public:
31
35
37 const static fsStr mDevTesterName;
38
40 static void destroy();
41
44
45
46#if defined fsInAppPurchaseProcess
47 void freeLevelCountSet( fsS32 pLevelCount );
48 fsBool progressBlockedByPaywallGet();
49 void fullGamePurchasedHandle();
50 void fullGamePurchaseRevokeHandle();
51 fsBool fullGamePurchasedGet();
52 fsBool fullGamePurchasedPersistedGet();
53#endif
54
56 void chapterSet(const fsStr& pChapter);
57
60 fsStr chapterProfileNameGet(fsS32 pProfileIndex) const;
61 fsS32 chapterProfileGameModeGet(fsS32 pProfileIndex) const;
62
63 void newProfileCreate(const fsStr& pPlayerName);
64 void profileDelete(fsS32 pProfileIndex);
65 void chapterProfileDelete(fsS32 pProfileIndex);
66 void profileLoad(fsS32 pProfileIndex);
67 void chapterProfileLoad(fsS32 pProfileIndex);
68 void currentProfileLoad();
69
70 void allDataSave(fsBool pIsAutoSave) const;
71
72 fsBool isValidNameGet(const fsStr& pPotentialName);
73 void initialise();
74
75 static void create(std::unique_ptr<fsCGlobalSavedData> pGlobalSavedData,
76 std::unique_ptr<fsCUserSavedData> pUserSavedData);
77
78protected:
79
81 virtual ~fsCProfileManager();
82
84
85private:
86
87
88 void settingsCache();
89
90 void initalUserSettingsApply() const;
91 void cheatModeActivate(const fsStr& pPlayerName);
92
93 void userDataSave() const;
94 void globalDataSave() const;
95
96 fsBool profileMatchesCurrentChapterGet(fsS32 pProfileIndex) const;
97 fsS32 chapterProfileIndexToGlobalIndex(fsS32 pProfileIndex) const;
98
99 fsStr newUserFileNameGenerate();
100
101 void settingsApply();
102
103 const fsCResourceName mGlobalDataFileName;
104
105#if defined fsInAppPurchaseProcess
106 void currPlayerFreeLevelCountSet(const fsStr& pPlayerName);
107 fsS32 mNumFreeScenes;
108 fsS32 mCurrPlayerNumFreeScenes;
109#endif
110 fsF32 mMusicVol;
111 fsF32 mEffectsVol;
112 fsBool mMute;
113 fsBool mCustomCursor;
114 fsBool mFullScreen;
115 fsStr mChapter;
116
117 std::unique_ptr<fsCGlobalSavedData> mSavedData;
118 std::unique_ptr<fsCUserSavedData> mUserSavedData;
119};
120
121#endif
Definition fsCGlobalSavedData.h:25
fsS32 currentChapterProfileIndexGet() const
Definition fsCProfileManager.cpp:202
static const fsStr mReleaseTesterName
Definition fsCProfileManager.h:36
static void create(std::unique_ptr< fsCGlobalSavedData > pGlobalSavedData, std::unique_ptr< fsCUserSavedData > pUserSavedData)
Definition fsCProfileManager.cpp:509
void profileLoad(fsS32 pProfileIndex)
Definition fsCProfileManager.cpp:369
fsStr chapterGet()
Definition fsCProfileManager.cpp:105
static const fsCUniqueId mProfilesHaveChangedMsg
Definition fsCProfileManager.h:32
void chapterSet(const fsStr &pChapter)
Definition fsCProfileManager.cpp:110
fsStr chapterProfileNameGet(fsS32 pProfileIndex) const
Definition fsCProfileManager.cpp:231
fsBool isValidNameGet(const fsStr &pPotentialName)
Definition fsCProfileManager.cpp:427
void currentProfileLoad()
Definition fsCProfileManager.cpp:364
void profileDelete(fsS32 pProfileIndex)
Definition fsCProfileManager.cpp:320
friend class fsCInputSession
Definition fsCProfileManager.h:28
static fsCProfileManager * instanceGet()
Definition fsCProfileManager.cpp:529
virtual ~fsCProfileManager()
Definition fsCProfileManager.cpp:557
fsS32 chapterProfileCountGet() const
Definition fsCProfileManager.cpp:160
void initialise()
Definition fsCProfileManager.cpp:484
static const fsCUniqueId mProfileCreationCompleteMsg
Definition fsCProfileManager.h:33
static fsCProfileManager * mInstance
Definition fsCProfileManager.h:83
static void destroy()
Definition fsCProfileManager.cpp:534
fsCProfileManager()
Definition fsCProfileManager.cpp:542
fsCUserSavedData * userSavedDataGet() const
Definition fsCProfileManager.cpp:140
fsCGlobalSavedData * savedDataGet() const
Definition fsCProfileManager.cpp:145
static const fsStr mDevTesterName
Definition fsCProfileManager.h:37
fsS32 chapterProfileGameModeGet(fsS32 pProfileIndex) const
Definition fsCProfileManager.cpp:236
void chapterProfileDelete(fsS32 pProfileIndex)
Definition fsCProfileManager.cpp:359
static const fsCUniqueId mPayWallBreachedMsg
Definition fsCProfileManager.h:34
void allDataSave(fsBool pIsAutoSave) const
Definition fsCProfileManager.cpp:241
void chapterProfileLoad(fsS32 pProfileIndex)
Definition fsCProfileManager.cpp:400
void newProfileCreate(const fsStr &pPlayerName)
Definition fsCProfileManager.cpp:288
Definition fsCResourceName.h:32
Definition fsCUniqueId.h:21
Definition fsCUserSavedData.h:25
Definition fsStr.h:23
Definition gfCHogUserSavedData.h:16
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28