LeviLamina
Loading...
Searching...
No Matches
ScriptTickListener.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Subscription.h"
7#include "mc/world/events/EventResult.h"
8#include "mc/world/events/LevelEventListener.h"
9#include "mc/world/events/ScriptDeferredEventListener.h"
10
11// auto generated forward declare list
12// clang-format off
13class Level;
20// clang-format on
21
22class ScriptTickListener : public ::LevelEventListener, public ::ScriptDeferredEventListener {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlushingCoroutineSubscription;
27 ::ll::TypedStorage<8, 8, ::ScriptDeferredEventCoordinator&> mDeferredEventCoordinator;
28 ::ll::TypedStorage<8, 8, ::LevelEventCoordinator&> mLevelEventCoordinator;
29 ::ll::TypedStorage<8, 8, ::ScriptPluginManager&> mPluginManager;
30 ::ll::TypedStorage<8, 8, ::ScriptDiagnostics&> mDiagnostics;
31 ::ll::TypedStorage<8, 8, ::ScriptAsyncJobCoordinator&> mAsyncJobCoordinator;
32 ::ll::TypedStorage<8, 8, uint64> mCurrentTick;
33 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLevelTickStartTime;
34 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mScriptTickStartTime;
35 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mScriptCoroutineDuration;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 ScriptTickListener& operator=(ScriptTickListener const&);
41 ScriptTickListener(ScriptTickListener const&);
42 ScriptTickListener();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~ScriptTickListener() /*override*/ = default;
48
49 virtual ::EventResult onLevelTickStart(::Level& level) /*override*/;
50
51 virtual ::EventResult onLevelTickEnd(::Level&) /*override*/;
52
53 virtual void onScriptTickStart() /*override*/;
54
55 virtual void onScriptTickEnd() /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI ScriptTickListener(
62 ::ScriptDeferredEventCoordinator& deferredEventCoordinator,
63 ::LevelEventCoordinator& levelEventCoordinator,
64 ::ScriptPluginManager& pluginManager,
65 ::ScriptDiagnostics& diagnostics,
66 ::ScriptAsyncJobCoordinator& asyncJobCoordinator
67 );
68
69 MCAPI ::ServerPerformanceData& _getServerPerfData();
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(
76 ::ScriptDeferredEventCoordinator& deferredEventCoordinator,
77 ::LevelEventCoordinator& levelEventCoordinator,
78 ::ScriptPluginManager& pluginManager,
79 ::ScriptDiagnostics& diagnostics,
80 ::ScriptAsyncJobCoordinator& asyncJobCoordinator
81 );
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI ::EventResult $onLevelTickStart(::Level& level);
88
89 MCAPI ::EventResult $onLevelTickEnd(::Level&);
90
91 MCAPI void $onScriptTickStart();
92
93 MCAPI void $onScriptTickEnd();
94
95
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
102
103 MCNAPI static void** $vftableForLevelEventListener();
104 // NOLINTEND
105};
Definition LevelEventCoordinator.h:25
Definition LevelEventListener.h:16
Definition Level.h:250
Definition ScriptAsyncJobCoordinator.h:11
Definition ScriptDeferredEventCoordinator.h:18
Definition ScriptDeferredEventListener.h:10
Definition ScriptDiagnostics.h:11
Definition ScriptPluginManager.h:25
static MCAPI void ** $vftableForLevelEventListener()
static MCAPI void ** $vftableForScriptDeferredEventListener()
Definition ServerPerformanceData.h:10