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 entity) = 0;
29
30 virtual void reserveSystems(uint64 numSystems) = 0;
31
32 virtual void addTime(
33 ::EntityId entity,
34 ::TickingSystemId system,
35 ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur
36 ) = 0;
37
38 virtual void
39 addNonSystemTime(::EntityId entity, ::std::chrono::duration<int64, ::std::ratio<1, 1000000000000000000>> dur) = 0;
40
41 virtual ::brstd::flat_map<
44 ::std::less<::EntityId>,
45 ::std::vector<::EntityId>,
46 ::std::vector<
48 exportData() const = 0;
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54
55 // NOLINTEND
56};
57
58} // namespace ECS::Profiling
Definition PerfClock.h:7
Definition small_vector.h:8
Definition IEntityTrackingSheet.h:18
Definition EntityId.h:13
Definition TickingSystemId.h:5