Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
PluginsWindow.hpp
1#pragma once
2
3#include <vector>
4#include <string>
5#include "Settings/BaseSettingsPage.hpp"
6#include <Editor/PluginSystem/PluginMetaData.hpp>
7
8namespace Grindstone::Editor::ImguiEditor {
9 enum class PluginInstallationState {
10 NotInstalled,
11 Installed,
12 Uninstalling,
13 Installing,
14 };
15
18 PluginInstallationState installationState;
19 };
20
22 std::string readmeData;
23 };
24
25 enum class PluginSelectionState {
26 NotSelected,
27 Loading,
28 Ready
29 };
30
32 public:
33 void Open();
34 void Render();
35 bool IsOpen() const;
36 private:
37 void SelectPlugin(size_t newSelectedIndex);
38 void LoadPluginsManifest();
39 void WriteFile();
40 bool isOpen = false;
41 std::vector<PluginListElement> pluginCacheList;
42 CurrentPluginData currentPluginData;
43 PluginSelectionState pluginSelectionState;
44 size_t currentSelectedPlugin;
45 bool hasPluginsChanged = false;
46 };
47}
Definition PluginsWindow.hpp:31
Definition PluginMetaData.hpp:8