3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Connector.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/world/level/IPlayerDimensionTransferer.h"
29namespace Bedrock::PubSub::ThreadModel {
struct MultiThreaded; }
36 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPlayerDimensionTransferProxy>>
const>
37 mPlayerDimensionTransferProxy;
38 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
39 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PortalForcer>
const> mPortalForcer;
40 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ISharedSpawnGetter>>
const> mSharedSpawnGetter;
41 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelStorage>
const> mLevelStorage;
42 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LoadingScreenIdManager>
const> mLoadingScreenIdManager;
43 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
48 mOnAnyPlayerChangeDimensionPreSuspendRegion;
50 mOnAnyPlayerChangeDimensionPrepareRegionComplete;
56 mOnAnyPlayerChangeDimensionComplete;
64 mOnPlayerLeftDimension;
69 PlayerDimensionTransferer();
74 virtual ~PlayerDimensionTransferer() =
default;
76 virtual void playerSaveLimboActors(
87 virtual void setTransitionLocation(
98 virtual void playerPrepareRegion(
105 getOnAnyPlayerChangeDimensionPreSuspendRegionConnector() ;
107 virtual ::Bedrock::PubSub::Connector<void()>&
108 getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector() ;
111 getOnAnyPlayerChangeDimensionCompleteConnector() ;
114 getOnPlayerLeftDimensionConnector() ;
117 playerWaitForServer(
::Player& player, ::std::chrono::steady_clock::time_point currentTime) ;
127 virtual void startWaitForRespawn(
::Player const& player) ;
129 virtual void playerSwitchDimension(
135 virtual bool doRespawnIfReady(
148 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
150 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
151 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
163 ::std::unique_ptr<::IPlayerDimensionTransferProxy> playerDimensionTransferProxy,
165 ::Bedrock::NotNullNonOwnerPtr<::PortalForcer> portalForcer,
166 ::std::unique_ptr<::ISharedSpawnGetter> sharedSpawnGetter,
193 MCAPI
void $playerPrepareRegion(
Definition NonOwnerPointer.h:9
Definition Publisher.h:25
Definition ChangeDimensionRequest.h:14
Definition Dimension.h:86
Definition EntityRegistry.h:10
Definition GameplayUserManager.h:25
Definition IPlayerDimensionTransferProxy.h:20
Definition IPlayerDimensionTransferer.h:21
Definition ISharedSpawnGetter.h:10
Definition LevelStorage.h:26
Definition LoadingScreenIdManager.h:5
Definition PacketSender.h:17
MCAPI void $startWaitForRespawn(::Player const &player)
MCAPI ::Bedrock::PubSub::Connector< void()> & $getOnAnyPlayerChangeDimensionPrepareRegionCompleteConnector()
MCAPI void $setPacketSender(::PacketSender &packetSender)
MCAPI void $playerDestroyRegion(::Player &player, ::ChangeDimensionRequest const &changeRequest)
MCAPI void * $ctor(::std::unique_ptr<::IPlayerDimensionTransferProxy > playerDimensionTransferProxy, bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::PortalForcer > portalForcer, ::std::unique_ptr<::ISharedSpawnGetter > sharedSpawnGetter, ::Bedrock::NonOwnerPointer<::LevelStorage > levelStorage, ::Bedrock::NonOwnerPointer<::LoadingScreenIdManager > loadingScreenIdManager)
MCAPI ::Bedrock::PubSub::Connector< void(::ActorUniqueID, ::DimensionType)> & $getOnAnyPlayerChangeDimensionCompleteConnector()
MCAPI bool $doRespawnIfReady(::Player &player, ::ChangeDimensionRequest &changeRequest, ::AddLimboActorHelper *addLimboActorHelper)
MCAPI void $playerSwitchDimension(::Player &player, ::ChangeDimensionRequest &changeRequest, ::AddLimboActorHelper *addLimboActorHelper)
MCAPI void $playerSaveLimboActors(::Player &player, ::ChangeDimensionRequest &changeRequest, ::Dimension &toDimension, ::PlayerLimboActorManager *playerLimboActorManager)
MCAPI void $playerDestroyRemotePlayers(::GameplayUserManager &gameplayUserManager)
MCAPI void $syncTransitionComponentTargetPosition(::Player &player, ::ChangeDimensionRequest const &changeRequest)
MCAPI void $playerStartChangeDimensionSuspendRegion(::Player &player, ::DimensionType fromDimension)
MCAPI bool $playerWaitForServer(::Player &player, ::std::chrono::steady_clock::time_point currentTime)
MCAPI PlayerDimensionTransferer(::std::unique_ptr<::IPlayerDimensionTransferProxy > playerDimensionTransferProxy, bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::PortalForcer > portalForcer, ::std::unique_ptr<::ISharedSpawnGetter > sharedSpawnGetter, ::Bedrock::NonOwnerPointer<::LevelStorage > levelStorage, ::Bedrock::NonOwnerPointer<::LoadingScreenIdManager > loadingScreenIdManager)
MCAPI void $setTransitionLocation(::Player &player, ::ChangeDimensionRequest &changeRequest, ::Dimension &toDimension)
MCAPI ::Bedrock::PubSub::Connector< void(::NetworkIdentifierWithSubId const &, ::DimensionType)> & $getOnPlayerLeftDimensionConnector()
MCAPI bool $playerWaitForDimensionTransitionSystem(::Player const &player, ::EntityRegistry &entityRegistry)
MCAPI ::Bedrock::PubSub::Connector< void(::DimensionType)> & $getOnAnyPlayerChangeDimensionPreSuspendRegionConnector()
MCAPI void $sendClientRespawnMovePacketFromServer(::Player const &player, ::ChangeDimensionRequest &changeRequest)
MCAPI bool $waitForSubChunks(::Player &player, ::Dimension const &toDimension)
Definition PlayerLimboActorManager.h:21
Definition PortalForcer.h:23
Definition ActorUniqueID.h:5
Definition AddLimboActorHelper.h:12
Definition MultiThreaded.h:7
Definition DimensionType.h:5
Definition NetworkIdentifierWithSubId.h:10