Gaia-ECS v1.0.0
A simple and powerful entity component system
Loading...
Searching...
No Matches
command_buffer_fwd.h
1#pragma once
2
3namespace gaia {
4 namespace ecs {
5 class World;
6
7 namespace detail {
8 template <typename AccessContext, bool Optimize = true>
9 class CommandBuffer;
10 }
11 struct AccessContextST;
12 struct AccessContextMT;
13 using CommandBufferST = detail::CommandBuffer<AccessContextST>;
14 using CommandBufferMT = detail::CommandBuffer<AccessContextMT>;
15 using CommandBufferPlainST = detail::CommandBuffer<AccessContextST, false>;
16 using CommandBufferPlainMT = detail::CommandBuffer<AccessContextMT, false>;
17
18 CommandBufferST* cmd_buffer_st_create(World& world);
19 void cmd_buffer_destroy(CommandBufferST& cmdBuffer);
20 void cmd_buffer_commit(CommandBufferST& cmdBuffer);
21
22 CommandBufferMT* cmd_buffer_mt_create(World& world);
23 void cmd_buffer_destroy(CommandBufferMT& cmdBuffer);
24 void cmd_buffer_commit(CommandBufferMT& cmdBuffer);
25 } // namespace ecs
26} // namespace gaia