LeviLamina
Loading...
Searching...
No Matches
SingleEntityTrackingSheet.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/small_vector.h"
7#include "mc/deps/ecs/profiling/IEntityTrackingSheet.h"
8#include "mc/platform/brstd/flat_map.h"
9
10// auto generated forward declare list
11// clang-format off
12class EntityId;
13struct TickingSystemId;
14// clang-format on
15
16namespace ECS::Profiling {
17
18class SingleEntityTrackingSheet : public ::ECS::Profiling::IEntityTrackingSheet {
19public:
20 // member variables
21 // NOLINTBEGIN
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
28 SingleEntityTrackingSheet& operator=(SingleEntityTrackingSheet const&);
29 SingleEntityTrackingSheet(SingleEntityTrackingSheet const&);
30 SingleEntityTrackingSheet();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual void clearAllEntities() /*override*/;
36
37 virtual void zeroAllTimes() /*override*/;
38
39#ifdef LL_PLAT_S
40 virtual void reserveEntity(::EntityId) /*override*/;
41#else // LL_PLAT_C
42 virtual void reserveEntity(::EntityId entity) /*override*/;
43#endif
44
45#ifdef LL_PLAT_S
46 virtual void reserveSystems(uint64) /*override*/;
47#else // LL_PLAT_C
48 virtual void reserveSystems(uint64 numSystems) /*override*/;
49#endif
50
51#ifdef LL_PLAT_S
52 virtual void addTime(
55 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>>
56 ) /*override*/;
57#else // LL_PLAT_C
58 virtual void addTime(
59 ::EntityId entity,
60 ::TickingSystemId system,
61 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
62 ) /*override*/;
63#endif
64
65#ifdef LL_PLAT_S
66 virtual void
67 addNonSystemTime(::EntityId, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>>) /*override*/;
68#else // LL_PLAT_C
69 virtual void addNonSystemTime(
70 ::EntityId entity,
71 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
72 ) /*override*/;
73#endif
74
75 virtual ::brstd::flat_map<
78 ::std::less<::EntityId>,
79 ::std::vector<::EntityId>,
80 ::std::vector<
82 exportData() const /*override*/;
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88#ifdef LL_PLAT_C
89 MCNAPI void $clearAllEntities();
90
91 MCNAPI void $zeroAllTimes();
92
93 MCNAPI void $reserveEntity(::EntityId entity);
94
95 MCNAPI void $reserveSystems(uint64 numSystems);
96
97 MCNAPI void $addTime(
98 ::EntityId entity,
99 ::TickingSystemId system,
100 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
101 );
102
103 MCNAPI void
104 $addNonSystemTime(::EntityId entity, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur);
105
106 MCNAPI ::brstd::flat_map<
109 ::std::less<::EntityId>,
110 ::std::vector<::EntityId>,
111 ::std::vector<
113 $exportData() const;
114#endif
115
116
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
125
126} // namespace ECS::Profiling
Definition small_vector.h:8
Definition IEntityTrackingSheet.h:18
Definition EntityId.h:13
Definition TickingSystemId.h:5
Definition Alias.h:14