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 {
9 struct Dependency {
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::filesystem::path libraryRelativePath;
22 std::string loadStage;
23 BinaryBuildType buildType = BinaryBuildType::NoBuild;
24 std::string buildTarget;
25 };
26
28 std::filesystem::path assetDirectoryRelativePath;
29 std::string mountPoint;
30 std::string loadStage;
31 };
32
33 std::string name;
34 std::string displayName;
35 std::string version;
36 std::string description;
37 std::string author;
38 bool isRestartRequired = false;
39 std::vector<AssetDirectory> assetDirectories;
40 std::vector<Dependency> dependencies;
41 std::vector<Binary> binaries;
42 std::filesystem::path cmakePath;
43 };
44}
Definition PluginMetaData.hpp:27
Definition PluginMetaData.hpp:20
Definition PluginMetaData.hpp:9
Definition PluginMetaData.hpp:8