LeviLamina
Loading...
Searching...
No Matches
PlayerRenderChunkModificationLatencyTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/platform/threading/Mutex.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/SubChunkPos.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class SubChunkPos;
15namespace Bedrock::Threading { class Mutex; }
16// clang-format on
17
19public:
20 // PlayerRenderChunkModificationLatencyTracker inner types declare
21 // clang-format off
22 struct TimeDelta;
23 struct TimeMarker;
24 // clang-format on
25
26 // PlayerRenderChunkModificationLatencyTracker inner types define
27 struct TimeDelta {
28 public:
29 // member variables
30 // NOLINTBEGIN
33 // NOLINTEND
34
35 public:
36 // prevent constructor by default
37 TimeDelta& operator=(TimeDelta const&);
38 TimeDelta(TimeDelta const&);
39 TimeDelta();
40 };
41
42 struct TimeMarker {
43 public:
44 // member variables
45 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 TimeMarker& operator=(TimeMarker const&);
53 TimeMarker(TimeMarker const&);
54 TimeMarker();
55
56 public:
57 // member functions
58 // NOLINTBEGIN
59
60 // NOLINTEND
61
62 public:
63 // destructor thunk
64 // NOLINTBEGIN
65 MCNAPI_C void $dtor();
66 // NOLINTEND
67 };
68
69 using TimeStamp = ::std::chrono::steady_clock::time_point;
70
71public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<1, 1, bool> mTimingIsActive;
75 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mStartTime;
76 ::ll::TypedStorage<8, 24, ::std::vector<::PlayerRenderChunkModificationLatencyTracker::TimeMarker>> mTimeMarkers;
77 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockToTrack;
78 ::ll::TypedStorage<4, 12, ::SubChunkPos> mRenderChunkPosToTrack;
79 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMutex;
80 // NOLINTEND
81
82public:
83 // virtual functions
84 // NOLINTBEGIN
85 virtual ~PlayerRenderChunkModificationLatencyTracker() /*override*/ = default;
86 // NOLINTEND
87
88public:
89 // member functions
90 // NOLINTBEGIN
91 MCNAPI_C void addTimeMarker(::std::string_view name);
92
93 MCNAPI_C void clearData();
94
95 MCNAPI_C bool shouldTrackNearbyPosition(::BlockPos const& blockToTrack);
96
97 MCNAPI_C bool shouldTrackPosition(::BlockPos const& blockToTrack);
98
99 MCNAPI_C bool shouldTrackPosition(::SubChunkPos const& renderChunkPos);
100
101 MCNAPI_C void startTimer(::BlockPos const& blockToTrack);
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
Definition EnableNonOwnerReferences.h:7
Definition Mutex.h:10
Definition BlockPos.h:19
Definition PlayerRenderChunkModificationLatencyTracker.h:18
Definition SubChunkPos.h:5
Definition PlayerRenderChunkModificationLatencyTracker.h:27
Definition PlayerRenderChunkModificationLatencyTracker.h:42
Definition Alias.h:14