Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
PluginMetaData.hpp
1#pragma once
2
3#include <filesystem>
4#include <vector>
5#include <string>
6
7namespace Grindstone::Plugins {
8 struct MetaData {
10 std::string pluginName;
11 std::string version;
12 };
13
14 enum class BinaryBuildType {
15 NoBuild,
16 Cmake,
17 Dotnet,
18 };
19
20 struct Binary {
21 std::string name;
22 std::filesystem::path libraryRelativePath;
23 std::string loadStage;
24 BinaryBuildType buildType = BinaryBuildType::NoBuild;
25 std::string buildTarget;
26 std::vector<std::string> dependencies;
27 };
28
30 std::string name;
31 std::filesystem::path assetDirectoryRelativePath;
32 std::string mountPoint;
33 std::string loadStage;
34 std::vector<std::string> dependencies;
35 };
36
37 std::string name;
38 std::string displayName;
39 std::string version;
40 std::string description;
41 std::string author;
42 std::filesystem::path pluginResolvedPath;
43 bool isRestartRequired = false;
44 std::vector<AssetDirectory> assetDirectories;
45 std::vector<PluginDependency> requiresPlugins;
46 std::vector<Binary> binaries;
47 std::filesystem::path cmakePath;
48 };
49}
Definition EditorPluginInterface.hpp:17
Definition PluginMetaData.hpp:29
Definition PluginMetaData.hpp:20
Definition PluginMetaData.hpp:8