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
63 virtual ~MultiEntityTrackingSheet() /*override*/ = default;
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69#ifdef LL_PLAT_C
70 MCNAPI void $clearAllEntities();
71
72 MCNAPI void $zeroAllTimes();
73
74 MCNAPI void $reserveEntity(::EntityId entity);
75
76 MCNAPI void $reserveSystems(uint64 numSystems);
77
78 MCNAPI void $addTime(
79 ::EntityId entity,
80 ::TickingSystemId system,
81 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
82 );
83
84 MCNAPI void
85 $addNonSystemTime(::EntityId entity, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur);
86
87 MCNAPI ::brstd::flat_map<
90 ::std::less<::EntityId>,
91 ::std::vector<::EntityId>,
92 ::std::vector<
94 $exportData() const;
95#endif
96
97
98 // NOLINTEND
99
100public:
101 // vftables
102 // NOLINTBEGIN
103 MCNAPI static void** $vftable();
104 // NOLINTEND
105};
106
107} // namespace ECS::Profiling
Definition small_vector.h:8
Definition IEntityTrackingSheet.h:18
Definition EntityId.h:13
Definition TickingSystemId.h:5
Definition Alias.h:14