Polyphase Game Engine
Loading...
Searching...
No Matches
PreferencesManager.h
Go to the documentation of this file.
1#pragma once
2
3#if EDITOR
4
5#include <string>
6#include <vector>
7
8class PreferencesModule;
9
10class PreferencesManager
11{
12public:
13 static void Create();
14 static void Destroy();
15 static PreferencesManager* Get();
16
17 void RegisterModule(PreferencesModule* module);
18 const std::vector<PreferencesModule*>& GetRootModules() const;
19 PreferencesModule* FindModule(const std::string& path) const;
20
21 void LoadAllSettings();
22 void SaveAllSettings();
23 void SaveModule(PreferencesModule* module);
24 std::string GetPreferencesDirectory() const;
25
26protected:
27 static PreferencesManager* sInstance;
28
29 PreferencesManager();
30 ~PreferencesManager();
31
32 void LoadModuleSettings(PreferencesModule* module);
33 void SaveModuleSettings(PreferencesModule* module);
34 PreferencesModule* FindModuleRecursive(PreferencesModule* module, const std::string& path) const;
35
36 std::vector<PreferencesModule*> mRootModules;
37};
38
39#endif