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
MapExtensionToImporterType(
const
char
* extension,
Grindstone::HashedString
importerType);
24
virtual
void
UnmapExtensionToImporterType(
const
char
* extension);
25
26
virtual
void
RegisterAssetImporter(
Grindstone::HashedString
importerType,
Grindstone::Editor::ImporterData
importerVersion);
27
virtual
void
DeregisterAssetImporter(
Grindstone::HashedString
importerType);
28
29
virtual
void
RegisterAssetTemplate(AssetType assetType,
const
char
* name,
const
char
* extension,
const
void
*
const
sourcePtr,
size_t
sourceSize);
30
virtual
void
DeregisterAssetTemplate(AssetType assetType);
31
32
virtual
void
RegisterThumbnailGenerator(AssetType assetType,
bool
(*fn)(
Grindstone::Uuid
));
33
virtual
void
DeregisterThumbnailGenerator(AssetType assetType,
bool
(*fn)(
Grindstone::Uuid
));
34
35
virtual
void
RegisterMenuItem(
const
char
* menuItem,
void
(*fn)(),
const
char
* shortcut =
nullptr
);
36
virtual
void
DeregisterMenuItem(
const
char
* menuItem);
37
38
virtual
void
RegisterProjectSettingsPage(std::string displayName,
Grindstone::UniquePtr<Grindstone::Editor::ImguiEditor::Settings::BasePage>
page);
39
virtual
void
DeregisterProjectSettingsPage(std::string displayName);
40
41
};
42
}
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:47
Grindstone::UniquePtr
Definition
UniquePtr.hpp:7
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::Editor
Definition
AssetRegistry.hpp:12
Grindstone::Plugins
Definition
EditorPluginInterface.hpp:17
Grindstone::Editor::ImporterData
Definition
Importer.hpp:16
sources
code
Editor
PluginSystem
EditorPluginInterface.hpp
Generated by
1.17.0