Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
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
8
namespace
Grindstone::Editor::ImguiEditor {
9
enum class
PluginInstallationState {
10
NotInstalled,
11
Installed,
12
Uninstalling,
13
Installing,
14
};
15
16
struct
PluginListElement
{
17
Grindstone::Plugins::MetaData
metaData;
18
PluginInstallationState installationState;
19
};
20
21
struct
CurrentPluginData
{
22
std::string readmeData;
23
};
24
25
enum class
PluginSelectionState {
26
NotSelected,
27
Loading,
28
Ready
29
};
30
31
class
PluginsWindow
{
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
}
Grindstone::Editor::ImguiEditor::PluginsWindow
Definition
PluginsWindow.hpp:31
Grindstone::Editor::ImguiEditor::CurrentPluginData
Definition
PluginsWindow.hpp:21
Grindstone::Editor::ImguiEditor::PluginListElement
Definition
PluginsWindow.hpp:16
Grindstone::Plugins::MetaData
Definition
PluginMetaData.hpp:8
sources
code
Editor
ImguiEditor
PluginsWindow.hpp
Generated by
1.17.0