vkmEngine 1.0.0
A C++ game engine · vkmengine.com
Loading...
Searching...
No Matches
async_loader_system.h
1#pragma once
2
3#include <chrono>
4
5#include "core/system.h"
6
7namespace Vkm::Engine {
8
10
18void finalizeAsyncLoads(ResourceManager& resources);
19
31bool awaitAsyncLoads(
32 ResourceManager& resources,
33 std::chrono::milliseconds patience = std::chrono::seconds(30)
34);
35
41class AsyncLoaderSystem : public System {
42 public:
43 AsyncLoaderSystem() = default;
44 ~AsyncLoaderSystem() override = default;
45
46 AsyncLoaderSystem(const AsyncLoaderSystem& other) = delete;
47 AsyncLoaderSystem& operator=(const AsyncLoaderSystem& other) = delete;
48
49 AsyncLoaderSystem(AsyncLoaderSystem && other) = delete;
50 AsyncLoaderSystem& operator=(AsyncLoaderSystem && other) = delete;
51
52 public:
53 void update(FrameContext& ctx) override;
54};
55
56} // namespace Vkm::Engine
void update(FrameContext &ctx) override
Execute this system for the current frame.
Open type-erased resource registry with typed handles and generational lifetimes.
Definition resource_manager.h:46
Per-frame state bundle passed to every system.
Definition system.h:55