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
11namespace Grindstone::Assets {
12 enum class AssetLoadStatus {
13 Success,
14 FileNotFound,
15 NotEnoughMemory,
16 InvalidAssetType,
17 AssetNotInRegistry,
18 };
19
21 AssetLoadStatus status;
22 std::string displayName;
23 Buffer buffer;
24 };
25
27 AssetLoadStatus status;
28 std::string displayName;
29 std::string content;
30 };
31
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}
Definition AssetLoader.hpp:32
Definition Buffer.hpp:9
Definition Uuid.hpp:7
Definition AssetLoader.hpp:20
Definition AssetLoader.hpp:26