Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
EditorPluginInterface.hpp
1#pragma once
2
3#include <Common/ResourcePipeline/AssetType.hpp>
4#include <Common/HashedString.hpp>
5#include <Editor/Importers/ImporterManager.hpp>
6#include <EngineCore/PluginSystem/Interface.hpp>
7
8struct ImGuiContext;
9
10namespace Grindstone::Editor {
11 class Manager;
12}
13
14namespace Grindstone::Plugins {
16 public:
17 virtual ImGuiContext* GetImguiContext() const;
18 virtual Grindstone::Editor::Manager* GetEditorInstance() const;
19
20 virtual void MapExtensionToImporterType(const char* extension, Grindstone::HashedString importerType);
21 virtual void UnmapExtensionToImporterType(const char* extension);
22
23 virtual void RegisterAssetImporter(Grindstone::HashedString importerType, Grindstone::Editor::ImporterData importerVersion);
24 virtual void DeregisterAssetImporter(Grindstone::HashedString importerType);
25
26 virtual void RegisterAssetTemplate(AssetType assetType, const char* name, const char* extension, const void* const sourcePtr, size_t sourceSize);
27 virtual void DeregisterAssetTemplate(AssetType assetType);
28
29 virtual void RegisterThumbnailGenerator(AssetType assetType, bool (*fn)(Grindstone::Uuid));
30 virtual void DeregisterThumbnailGenerator(AssetType assetType, bool (*fn)(Grindstone::Uuid));
31 };
32}
Definition EditorManager.hpp:48
Definition HashedString.hpp:9
Definition EditorPluginInterface.hpp:15
Definition Interface.hpp:43
Definition Uuid.hpp:7
Definition Importer.hpp:16