LeviLamina
Loading...
Searching...
No Matches
IEntityTrackingSheet.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/platform/brstd/flat_map.h"
8
9// auto generated forward declare list
10// clang-format off
11class EntityId;
12struct TickingSystemId;
13namespace Bedrock::Profiling { class PerfClock; }
14// clang-format on
15
16namespace ECS::Profiling {
17
19public:
20 // virtual functions
21 // NOLINTBEGIN
22 virtual ~IEntityTrackingSheet() = default;
23
24 virtual void clearAllEntities() = 0;
25
26 virtual void zeroAllTimes() = 0;
27
28 virtual void reserveEntity(::EntityId) = 0;
29
30 virtual void reserveSystems(uint64) = 0;
31
32 virtual void addTime(
35 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>>
36 ) = 0;
37
38 virtual void addNonSystemTime(::EntityId, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>>) = 0;
39
40 virtual ::brstd::flat_map<
43 ::std::less<::EntityId>,
44 ::std::vector<::EntityId>,
45 ::std::vector<
47 exportData() const = 0;
48 // NOLINTEND
49
50public:
51 // virtual function thunks
52 // NOLINTBEGIN
53
54 // NOLINTEND
55};
56
57} // namespace ECS::Profiling
Definition PerfClock.h:7
Definition small_vector.h:8
Definition IEntityTrackingSheet.h:18
Definition EntityId.h:13
Definition TickingSystemId.h:5