Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
AssetLoader.hpp
1
#pragma once
2
3
#include <filesystem>
4
#include <vector>
5
6
#include <Common/Buffer.hpp>
7
#include <Common/Graphics/GraphicsPipeline.hpp>
8
#include <Common/ResourcePipeline/Uuid.hpp>
9
#include <Common/ResourcePipeline/AssetType.hpp>
10
11
namespace
Grindstone::Assets
{
12
enum class
AssetLoadStatus
{
13
Success
,
14
FileNotFound
,
15
NotEnoughMemory
,
16
InvalidAssetType
,
17
AssetNotInRegistry
,
18
};
19
20
struct
AssetLoadBinaryResult
{
21
AssetLoadStatus
status;
22
std::string displayName;
23
Buffer
buffer;
24
};
25
26
struct
AssetLoadTextResult
{
27
AssetLoadStatus
status;
28
std::string displayName;
29
std::string content;
30
};
31
32
class
AssetLoader
{
33
public
:
34
virtual
AssetLoadBinaryResult
LoadBinaryByUuid(AssetType assetType,
Uuid
uuid) = 0;
35
virtual
AssetLoadTextResult
LoadTextByUuid(AssetType assetType,
Uuid
uuid) = 0;
36
virtual
Grindstone::Uuid
GetUuidByAddress(AssetType assetType, std::string_view address) = 0;
37
};
38
}
Grindstone::Assets::AssetLoader
Definition
AssetLoader.hpp:32
Grindstone::Buffer
Definition
Buffer.hpp:9
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::Assets
Definition
ArchiveContentFile.hpp:8
Grindstone::Assets::AssetLoadStatus
AssetLoadStatus
Definition
AssetLoader.hpp:12
Grindstone::Assets::AssetLoadStatus::NotEnoughMemory
@ NotEnoughMemory
The asset was found, but could not be loaded because it requires an amount of memory that could not b...
Definition
AssetLoader.hpp:15
Grindstone::Assets::AssetLoadStatus::FileNotFound
@ FileNotFound
The asset could not be found.
Definition
AssetLoader.hpp:14
Grindstone::Assets::AssetLoadStatus::Success
@ Success
The asset was successfully found and not loaded.
Definition
AssetLoader.hpp:13
Grindstone::Assets::AssetLoadStatus::AssetNotInRegistry
@ AssetNotInRegistry
The asset could not be found in the registry, likely due to an incorrect UUID.
Definition
AssetLoader.hpp:17
Grindstone::Assets::AssetLoadStatus::InvalidAssetType
@ InvalidAssetType
The asset was found, but has a type other than that which was attempted to be loaded.
Definition
AssetLoader.hpp:16
Grindstone::Assets::AssetLoadBinaryResult
Definition
AssetLoader.hpp:20
Grindstone::Assets::AssetLoadTextResult
Definition
AssetLoader.hpp:26
sources
code
EngineCore
Assets
Loaders
AssetLoader.hpp
Generated by
1.17.0