LeviLamina
Loading...
Searching...
No Matches
MultiEntityTrackingSheet.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 MultiEntityTrackingSheet : public ::ECS::Profiling::IEntityTrackingSheet {
19public:
20 // member variables
21 // NOLINTBEGIN
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
28 MultiEntityTrackingSheet& operator=(MultiEntityTrackingSheet const&);
29 MultiEntityTrackingSheet(MultiEntityTrackingSheet const&);
30 MultiEntityTrackingSheet();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual void clearAllEntities() /*override*/;
36
37 virtual void zeroAllTimes() /*override*/;
38
39 virtual void reserveEntity(::EntityId entity) /*override*/;
40
41 virtual void reserveSystems(uint64 numSystems) /*override*/;
42
43 virtual void addTime(
44 ::EntityId entity,
45 ::TickingSystemId system,
46 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
47 ) /*override*/;
48
49 virtual void addNonSystemTime(
50 ::EntityId entity,
51 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
52 ) /*override*/;
53
54 virtual ::brstd::flat_map<
57 ::std::less<::EntityId>,
58 ::std::vector<::EntityId>,
59 ::std::vector<
61 exportData() const /*override*/;
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67#ifdef LL_PLAT_C
68 MCNAPI void $clearAllEntities();
69
70 MCNAPI void $zeroAllTimes();
71
72 MCNAPI void $reserveEntity(::EntityId entity);
73
74 MCNAPI void $reserveSystems(uint64 numSystems);
75
76 MCNAPI void $addTime(
77 ::EntityId entity,
78 ::TickingSystemId system,
79 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
80 );
81
82 MCNAPI void
83 $addNonSystemTime(::EntityId entity, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur);
84
85 MCNAPI ::brstd::flat_map<
88 ::std::less<::EntityId>,
89 ::std::vector<::EntityId>,
90 ::std::vector<
92 $exportData() const;
93#endif
94
95
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
104
105} // namespace ECS::Profiling
Definition small_vector.h:8
Definition IEntityTrackingSheet.h:18
Definition EntityId.h:27
Definition TickingSystemId.h:5
Definition Alias.h:14