Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ImporterManager.hpp
1
#pragma once
2
3
#include <Common/HashedString.hpp>
4
#include <EditorCommon/Editor/Importer.hpp>
5
#include <Editor/AssetRegistry.hpp>
6
#include <EngineCore/Assets/AssetManager.hpp>
7
8
#include <filesystem>
9
#include <map>
10
#include <string>
11
12
namespace
Grindstone::Importers {
13
class
ImporterManager
{
14
public
:
15
void
Initialize();
16
bool
Import(
const
std::filesystem::path& path);
17
void
MapExtensionToImporterType(
const
std::string& extension,
Grindstone::HashedString
importerType);
18
void
AddImporterFactory(
Grindstone::HashedString
importerType,
Grindstone::Editor::ImporterData
importerData);
19
void
UnmapExtensionToImporterType(
const
std::string& extension);
20
void
RemoveImporterFactory(
Grindstone::HashedString
importerType);
21
22
Grindstone::Editor::ImporterVersion GetImporterVersion(
Grindstone::HashedString
importerType)
const
;
23
Grindstone::Editor::ImporterVersion GetImporterVersionByExtension(
const
std::string& extension)
const
;
24
Grindstone::Editor::ImporterVersion GetImporterVersionByPath(
const
std::filesystem::path& path)
const
;
25
26
bool
HasImporter(
Grindstone::HashedString
importerType)
const
;
27
bool
HasImporterForExtension(
const
std::string& extension)
const
;
28
bool
HasImporterForPath(
const
std::filesystem::path& path)
const
;
29
30
Grindstone::Editor::ImporterData
GetImporterFactoryByName(
Grindstone::HashedString
importerType)
const
;
31
Grindstone::Editor::ImporterData
GetImporterFactoryByExtension(
const
std::string& extension)
const
;
32
Grindstone::Editor::ImporterData
GetImporterFactoryByPath(
const
std::filesystem::path& path)
const
;
33
private
:
34
std::map<std::string, Grindstone::HashedString> extensionsToImporterFactories;
35
std::map<Grindstone::HashedString, Grindstone::Editor::ImporterData> importerFactoriesMap;
36
};
37
}
Grindstone::HashedString
Definition
HashedString.hpp:9
Grindstone::Importers::ImporterManager
Definition
ImporterManager.hpp:13
Grindstone::Editor::ImporterData
Definition
Importer.hpp:16
sources
code
Editor
Importers
ImporterManager.hpp
Generated by
1.17.0