Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
EditorPluginInterface.hpp
1
#pragma once
2
3
#include <Common/ResourcePipeline/AssetType.hpp>
4
#include <Common/HashedString.hpp>
5
#include <Common/Memory/SmartPointers/UniquePtr.hpp>
6
#include <Common/Rendering/RenderGraphBuilder.hpp>
7
#include <Editor/Importers/ImporterManager.hpp>
8
#include <Editor/ImguiEditor/Settings/BaseSettingsPage.hpp>
9
#include <EngineCore/PluginSystem/Interface.hpp>
10
11
struct
ImGuiContext;
12
13
namespace
Grindstone::Editor {
14
class
Manager
;
15
}
16
17
namespace
Grindstone::Plugins {
18
class
EditorPluginInterface
:
public
Grindstone::Plugins::IEditorInterface
{
19
public
:
20
virtual
ImGuiContext* GetImguiContext()
const
;
21
virtual
Grindstone::Editor::Manager
* GetEditorInstance()
const
;
22
23
virtual
void
RegisterGizmoPass(
24
std::function<
25
Grindstone::Renderer::RenderGraphBuilderResourceRef
(
26
Grindstone::Renderer::RenderGraphBuilder
&,
27
Grindstone::Renderer::RenderGraphBuilderResourceRef
,
28
Grindstone::Renderer::RenderGraphBuilderResourceRef
29
)
30
> callback
31
);
32
33
virtual
void
MapExtensionToImporterType(
const
char
* extension,
Grindstone::HashedString
importerType);
34
virtual
void
UnmapExtensionToImporterType(
const
char
* extension);
35
36
virtual
void
RegisterAssetImporter(
Grindstone::HashedString
importerType,
Grindstone::Editor::ImporterData
importerVersion);
37
virtual
void
DeregisterAssetImporter(
Grindstone::HashedString
importerType);
38
39
virtual
void
RegisterAssetTemplate(AssetType assetType,
const
char
* name,
const
char
* extension,
const
void
*
const
sourcePtr,
size_t
sourceSize);
40
virtual
void
DeregisterAssetTemplate(AssetType assetType);
41
42
virtual
void
RegisterThumbnailGenerator(AssetType assetType,
bool
(*fn)(
Grindstone::Uuid
));
43
virtual
void
DeregisterThumbnailGenerator(AssetType assetType,
bool
(*fn)(
Grindstone::Uuid
));
44
45
virtual
void
RegisterMenuItem(
const
char
* menuItem,
void
(*fn)(),
const
char
* shortcut =
nullptr
);
46
virtual
void
DeregisterMenuItem(
const
char
* menuItem);
47
48
virtual
void
RegisterProjectSettingsPage(std::string displayName,
Grindstone::UniquePtr<Grindstone::Editor::ImguiEditor::Settings::BasePage>
page);
49
virtual
void
DeregisterProjectSettingsPage(std::string displayName);
50
51
};
52
}
Grindstone::Editor::Manager
Definition
EditorManager.hpp:48
Grindstone::HashedString
Definition
HashedString.hpp:9
Grindstone::Plugins::EditorPluginInterface
Definition
EditorPluginInterface.hpp:18
Grindstone::Plugins::IEditorInterface
Definition
Interface.hpp:43
Grindstone::Renderer::RenderGraphBuilder
Definition
RenderGraphBuilder.hpp:12
Grindstone::UniquePtr
Definition
UniquePtr.hpp:7
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::Editor::ImporterData
Definition
Importer.hpp:16
Grindstone::Renderer::RenderGraphBuilderResourceRef
Definition
RenderGraphResourceRef.hpp:51
sources
code
Editor
PluginSystem
EditorPluginInterface.hpp
Generated by
1.17.0