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 // virtual functions
53 // NOLINTBEGIN
54 // vIndex: 2
55 virtual ~PlayerDimensionTransferer() /*override*/;
56
57 // vIndex: 3
58 virtual void playerSaveLimboActors(
59 ::Player& player,
60 ::ChangeDimensionRequest& changeRequest,
61 ::Dimension& toDimension,
62 ::PlayerLimboActorManager* playerLimboActorManager
63 ) /*override*/;
64
65 // vIndex: 4
66 virtual void playerDestroyRemotePlayers(::GameplayUserManager& gameplayUserManager) /*override*/;
67
68 // vIndex: 5
69 virtual void playerStartChangeDimensionSuspendRegion(::Player& player, ::DimensionType fromDimension) /*override*/;
70
71 // vIndex: 6
72 virtual void setTransitionLocation(
73 ::Player& player,
74 ::ChangeDimensionRequest& changeRequest,
75 ::Dimension& toDimension
76 ) /*override*/;
77
78 // vIndex: 7
79 virtual void
80 syncTransitionComponentTargetPosition(::Player& player, ::ChangeDimensionRequest const& changeRequest) /*override*/;
81
82 // vIndex: 8
83 virtual void playerDestroyRegion(::Player& player, ::ChangeDimensionRequest const& changeRequest) /*override*/;
84
85 // vIndex: 9
86 virtual void playerPrepareRegion(
87 ::Player& player,
88 ::ChangeDimensionRequest const& changeRequest,
89 ::Dimension const& toDimension
90 ) /*override*/;
91
92 // vIndex: 0
93 virtual ::Bedrock::PubSub::Connector<void(::DimensionType)>&
94 getOnAnyPlayerChangeDimensionPreSuspendRegionConnector() /*override*/;
95
96 // vIndex: 1
97 virtual ::Bedrock::PubSub::Connector<void()>&
98 getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector() /*override*/;
99
100 // vIndex: 10
101 virtual bool
102 playerWaitForServer(::Player& player, ::std::chrono::steady_clock::time_point currentTime) /*override*/;
103
104 // vIndex: 11
105 virtual bool
106 playerWaitForDimensionTransitionSystem(::Player const& player, ::EntityRegistry& entityRegistry) /*override*/;
107
108 // vIndex: 12
109 virtual void
110 sendClientRespawnMovePacketFromServer(::Player const& player, ::ChangeDimensionRequest& changeRequest) /*override*/;
111
112 // vIndex: 13
113 virtual bool waitForSubChunks(::Player& player, ::Dimension const& toDimension) /*override*/;
114
115 // vIndex: 14
116 virtual void startWaitForRespawn(::Player const& player) /*override*/;
117
118 // vIndex: 15
119 virtual void playerSwitchDimension(
120 ::Player& player,
121 ::ChangeDimensionRequest& changeRequest,
122 ::AddLimboActorHelper* addLimboActorHelper
123 ) /*override*/;
124
125 // vIndex: 16
126 virtual bool doRespawnIfReady(
127 ::Player& player,
128 ::ChangeDimensionRequest& changeRequest,
129 ::AddLimboActorHelper* addLimboActorHelper
130 ) /*override*/;
131
132 // vIndex: 17
133 virtual void setPacketSender(::PacketSender& packetSender) /*override*/;
134 // NOLINTEND
135
136public:
137 // member functions
138 // NOLINTBEGIN
140 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
141 bool isClientSide,
142 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
143 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
146 );
147
148 MCAPI void _finalizeDimensionChange(::Player& player, ::ChangeDimensionRequest const& changeRequest);
149
150 MCAPI void _loadAgentFromTag(
151 ::Player& player,
152 ::ChangeDimensionRequest& changeRequest,
153 ::AddLimboActorHelper& addLimboActorHelper
154 );
155 // NOLINTEND
156
157public:
158 // constructor thunks
159 // NOLINTBEGIN
160 MCAPI void* $ctor(
161 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
162 bool isClientSide,
163 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
164 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
167 );
168 // NOLINTEND
169
170public:
171 // destructor thunk
172 // NOLINTBEGIN
173 MCAPI void $dtor();
174 // NOLINTEND
175
176public:
177 // virtual function thunks
178 // NOLINTBEGIN
179 MCAPI void $playerSaveLimboActors(
180 ::Player& player,
181 ::ChangeDimensionRequest& changeRequest,
182 ::Dimension& toDimension,
183 ::PlayerLimboActorManager* playerLimboActorManager
184 );
185
186 MCAPI void $playerDestroyRemotePlayers(::GameplayUserManager& gameplayUserManager);
187
188 MCAPI void $playerStartChangeDimensionSuspendRegion(::Player& player, ::DimensionType fromDimension);
189
190 MCAPI void
191 $setTransitionLocation(::Player& player, ::ChangeDimensionRequest& changeRequest, ::Dimension& toDimension);
192
193 MCAPI void $syncTransitionComponentTargetPosition(::Player& player, ::ChangeDimensionRequest const& changeRequest);
194
195 MCAPI void $playerDestroyRegion(::Player& player, ::ChangeDimensionRequest const& changeRequest);
196
197 MCAPI void $playerPrepareRegion(
198 ::Player& player,
199 ::ChangeDimensionRequest const& changeRequest,
200 ::Dimension const& toDimension
201 );
202
203 MCAPI ::Bedrock::PubSub::Connector<void(::DimensionType)>&
204 $getOnAnyPlayerChangeDimensionPreSuspendRegionConnector();
205
206 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector();
207
208 MCAPI bool $playerWaitForServer(::Player& player, ::std::chrono::steady_clock::time_point currentTime);
209
210 MCAPI bool $playerWaitForDimensionTransitionSystem(::Player const& player, ::EntityRegistry& entityRegistry);
211
212 MCAPI void $sendClientRespawnMovePacketFromServer(::Player const& player, ::ChangeDimensionRequest& changeRequest);
213
214 MCAPI bool $waitForSubChunks(::Player& player, ::Dimension const& toDimension);
215
216 MCAPI void $startWaitForRespawn(::Player const& player);
217
218 MCAPI void $playerSwitchDimension(
219 ::Player& player,
220 ::ChangeDimensionRequest& changeRequest,
221 ::AddLimboActorHelper* addLimboActorHelper
222 );
223
224 MCAPI bool $doRespawnIfReady(
225 ::Player& player,
226 ::ChangeDimensionRequest& changeRequest,
227 ::AddLimboActorHelper* addLimboActorHelper
228 );
229
230 MCAPI void $setPacketSender(::PacketSender& packetSender);
231 // NOLINTEND
232
233public:
234 // vftables
235 // NOLINTBEGIN
236 MCAPI static void** $vftable();
237 // NOLINTEND
238};
Definition AutomaticID.h:6
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition ChangeDimensionRequest.h:15
Definition Dimension.h:83
Definition EntityRegistry.h:15
Definition GameplayUserManager.h:22
Definition IPlayerDimensionTransferProxy.h:20
Definition IPlayerDimensionTransferer.h:21
Definition ISharedSpawnGetter.h:10
Definition LevelStorage.h:24
Definition LoadingScreenIdManager.h:5
Definition PacketSender.h:17
Definition PlayerDimensionTransferer.h:30
Definition PlayerLimboActorManager.h:21
Definition Player.h:119
Definition PortalForcer.h:23
Definition AddLimboActorHelper.h:5