Polyphase Game Engine
Loading...
Searching...
No Matches
PackagingSettings.h
Go to the documentation of this file.
1#pragma once
2
3#if EDITOR
4
5#include <string>
6#include <vector>
7#include <cstdint>
8#include "BuildProfile.h"
9
17class PackagingSettings
18{
19public:
24 static void Create();
25
30 static void Destroy();
31
36 static PackagingSettings* Get();
37
43 BuildProfile* CreateProfile(const std::string& name);
44
49 void DeleteProfile(uint32_t profileId);
50
56 BuildProfile* GetProfile(uint32_t profileId);
57
62 BuildProfile* GetSelectedProfile();
63
68 std::vector<BuildProfile>& GetProfiles();
69
74 int32_t GetSelectedProfileIndex() const { return mSelectedProfileIndex; }
75
80 void SetSelectedProfileIndex(int32_t index);
81
86 BuildProfile* GetCurrentTargetProfile();
87
92 void SetCurrentTargetProfileId(uint32_t profileId);
93
98 uint32_t GetCurrentTargetProfileId() const { return mCurrentTargetProfileId; }
99
104 void LoadSettings();
105
110 void SaveSettings();
111
116 std::string GetSettingsFilePath() const;
117
118private:
119 PackagingSettings();
120 ~PackagingSettings();
121
122 static PackagingSettings* sInstance;
123
125 std::vector<BuildProfile> mProfiles;
126
128 int32_t mSelectedProfileIndex = -1;
129
131 uint32_t mNextProfileId = 1;
132
134 uint32_t mCurrentTargetProfileId = 0;
135};
136
137#endif