Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
ArchiveAssetLoader.hpp
1#pragma once
2
3#include <filesystem>
4
5#include <Common/Buffer.hpp>
6#include <Common/Assets/ArchiveDirectory.hpp>
7
8#include "AssetLoader.hpp"
9
10namespace Grindstone::Assets {
11 class ArchiveAssetLoader : public AssetLoader {
12 public:
13 ArchiveAssetLoader();
14 void InitializeDirectory();
15 virtual AssetLoadBinaryResult LoadBinaryByUuid(AssetType assetType, Uuid uuid) override;
16 virtual AssetLoadTextResult LoadTextByUuid(AssetType assetType, Uuid uuid) override;
17 virtual Grindstone::Uuid GetUuidByAddress(AssetType assetType, std::string_view address) override;
18 protected:
19 AssetLoadBinaryResult LoadAsset(const ArchiveDirectory::AssetInfo& assetInfo);
20 ArchiveDirectory archiveDirectory;
21
22 Buffer lastBuffer;
23 uint16_t lastBufferIndex = UINT16_MAX;
24 };
25}
Definition AssetLoader.hpp:32
Definition Buffer.hpp:9
Definition Uuid.hpp:7
Definition ArchiveDirectory.hpp:13
Definition ArchiveDirectory.hpp:12
Definition AssetLoader.hpp:20
Definition AssetLoader.hpp:26