Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
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::AssetLoadBinaryResult
Definition
AssetLoader.hpp:20
Grindstone::Assets::AssetLoadTextResult
Definition
AssetLoader.hpp:26
sources
code
EngineCore
Assets
Loaders
AssetLoader.hpp
Generated by
1.13.2