LeviLamina
Loading...
Searching...
No Matches
PlayerDimensionTransferer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Connector.h"
9#include "mc/deps/core/utility/pub_sub/Publisher.h"
10#include "mc/world/level/IPlayerDimensionTransferer.h"
11
12// auto generated forward declare list
13// clang-format off
15class Dimension;
16class EntityRegistry;
20class LevelStorage;
22class PacketSender;
23class Player;
25class PortalForcer;
27namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
28// clang-format on
29
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPlayerDimensionTransferProxy>> const>
35 mPlayerDimensionTransferProxy;
36 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
37 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> const> mPortalForcer;
38 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ISharedSpawnGetter>> const> mSharedSpawnGetter;
39 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelStorage> const> mLevelStorage;
40 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LoadingScreenIdManager> const> mLoadingScreenIdManager;
41 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
42 ::ll::TypedStorage<
43 8,
44 128,
46 mOnAnyPlayerChangeDimensionPreSuspendRegion;
48 mOnAnyPlayerChangeDimensionPrepareRegionComplete;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 // vIndex: 2
59 virtual ~PlayerDimensionTransferer() /*override*/;
60
61 // vIndex: 3
62 virtual void playerSaveLimboActors(
63 ::Player& player,
64 ::ChangeDimensionRequest& changeRequest,
65 ::Dimension& toDimension,
66 ::PlayerLimboActorManager* playerLimboActorManager
67 ) /*override*/;
68
69 // vIndex: 4
70 virtual void playerDestroyRemotePlayers(::GameplayUserManager& gameplayUserManager) /*override*/;
71
72 // vIndex: 5
73 virtual void playerStartChangeDimensionSuspendRegion(::Player& player, ::DimensionType fromDimension) /*override*/;
74
75 // vIndex: 6
76 virtual void setTransitionLocation(
77 ::Player& player,
78 ::ChangeDimensionRequest& changeRequest,
79 ::Dimension& toDimension
80 ) /*override*/;
81
82 // vIndex: 7
83 virtual void
84 syncTransitionComponentTargetPosition(::Player& player, ::ChangeDimensionRequest const& changeRequest) /*override*/;
85
86 // vIndex: 8
87 virtual void playerDestroyRegion(::Player& player, ::ChangeDimensionRequest const& changeRequest) /*override*/;
88
89 // vIndex: 9
90 virtual void playerPrepareRegion(
91 ::Player& player,
92 ::ChangeDimensionRequest const& changeRequest,
93 ::Dimension const& toDimension
94 ) /*override*/;
95
96 // vIndex: 0
97 virtual ::Bedrock::PubSub::Connector<void(::DimensionType)>&
98 getOnAnyPlayerChangeDimensionPreSuspendRegionConnector() /*override*/;
99
100 // vIndex: 1
101 virtual ::Bedrock::PubSub::Connector<void()>&
102 getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector() /*override*/;
103
104 // vIndex: 10
105 virtual bool
106 playerWaitForServer(::Player& player, ::std::chrono::steady_clock::time_point currentTime) /*override*/;
107
108 // vIndex: 11
109 virtual bool
110 playerWaitForDimensionTransitionSystem(::Player const& player, ::EntityRegistry& entityRegistry) /*override*/;
111
112 // vIndex: 12
113 virtual void
114 sendClientRespawnMovePacketFromServer(::Player const& player, ::ChangeDimensionRequest& changeRequest) /*override*/;
115
116 // vIndex: 13
117 virtual bool waitForSubChunks(::Player& player, ::Dimension const& toDimension) /*override*/;
118
119 // vIndex: 14
120 virtual void startWaitForRespawn(::Player const& player) /*override*/;
121
122 // vIndex: 15
123 virtual void playerSwitchDimension(
124 ::Player& player,
125 ::ChangeDimensionRequest& changeRequest,
126 ::AddLimboActorHelper* addLimboActorHelper
127 ) /*override*/;
128
129 // vIndex: 16
130 virtual bool doRespawnIfReady(
131 ::Player& player,
132 ::ChangeDimensionRequest& changeRequest,
133 ::AddLimboActorHelper* addLimboActorHelper
134 ) /*override*/;
135
136 // vIndex: 17
137 virtual void setPacketSender(::PacketSender& packetSender) /*override*/;
138 // NOLINTEND
139
140public:
141 // member functions
142 // NOLINTBEGIN
144 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
145 bool isClientSide,
146 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
147 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
150 );
151
152 MCAPI void _finalizeDimensionChange(::Player& player, ::ChangeDimensionRequest const& changeRequest);
153
154 MCAPI void _loadAgentFromTag(
155 ::Player& player,
156 ::ChangeDimensionRequest& changeRequest,
157 ::AddLimboActorHelper& addLimboActorHelper
158 );
159 // NOLINTEND
160
161public:
162 // constructor thunks
163 // NOLINTBEGIN
164 MCAPI void* $ctor(
165 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
166 bool isClientSide,
167 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
168 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
171 );
172 // NOLINTEND
173
174public:
175 // destructor thunk
176 // NOLINTBEGIN
177 MCAPI void $dtor();
178 // NOLINTEND
179
180public:
181 // virtual function thunks
182 // NOLINTBEGIN
183 MCAPI void $playerSaveLimboActors(
184 ::Player& player,
185 ::ChangeDimensionRequest& changeRequest,
186 ::Dimension& toDimension,
187 ::PlayerLimboActorManager* playerLimboActorManager
188 );
189
190 MCAPI void $playerDestroyRemotePlayers(::GameplayUserManager& gameplayUserManager);
191
192 MCAPI void $playerStartChangeDimensionSuspendRegion(::Player& player, ::DimensionType fromDimension);
193
194 MCAPI void
195 $setTransitionLocation(::Player& player, ::ChangeDimensionRequest& changeRequest, ::Dimension& toDimension);
196
197 MCAPI void $syncTransitionComponentTargetPosition(::Player& player, ::ChangeDimensionRequest const& changeRequest);
198
199 MCAPI void $playerDestroyRegion(::Player& player, ::ChangeDimensionRequest const& changeRequest);
200
201 MCAPI void $playerPrepareRegion(
202 ::Player& player,
203 ::ChangeDimensionRequest const& changeRequest,
204 ::Dimension const& toDimension
205 );
206
207 MCFOLD ::Bedrock::PubSub::Connector<void(::DimensionType)>&
208 $getOnAnyPlayerChangeDimensionPreSuspendRegionConnector();
209
210 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector();
211
212 MCAPI bool $playerWaitForServer(::Player& player, ::std::chrono::steady_clock::time_point currentTime);
213
214 MCAPI bool $playerWaitForDimensionTransitionSystem(::Player const& player, ::EntityRegistry& entityRegistry);
215
216 MCAPI void $sendClientRespawnMovePacketFromServer(::Player const& player, ::ChangeDimensionRequest& changeRequest);
217
218 MCAPI bool $waitForSubChunks(::Player& player, ::Dimension const& toDimension);
219
220 MCAPI void $startWaitForRespawn(::Player const& player);
221
222 MCAPI void $playerSwitchDimension(
223 ::Player& player,
224 ::ChangeDimensionRequest& changeRequest,
225 ::AddLimboActorHelper* addLimboActorHelper
226 );
227
228 MCAPI bool $doRespawnIfReady(
229 ::Player& player,
230 ::ChangeDimensionRequest& changeRequest,
231 ::AddLimboActorHelper* addLimboActorHelper
232 );
233
234 MCAPI void $setPacketSender(::PacketSender& packetSender);
235 // NOLINTEND
236
237public:
238 // vftables
239 // NOLINTBEGIN
240 MCNAPI static void** $vftable();
241 // NOLINTEND
242};
Definition AutomaticID.h:6
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition ChangeDimensionRequest.h:15
Definition Dimension.h:83
Definition EntityRegistry.h:11
Definition GameplayUserManager.h:22
Definition IPlayerDimensionTransferProxy.h:20
Definition IPlayerDimensionTransferer.h:21
Definition ISharedSpawnGetter.h:10
Definition LevelStorage.h:25
Definition LoadingScreenIdManager.h:5
Definition PacketSender.h:17
Definition PlayerDimensionTransferer.h:30
static MCAPI void ** $vftable()
Definition PlayerLimboActorManager.h:21
Definition Player.h:119
Definition PortalForcer.h:23
Definition AddLimboActorHelper.h:5