LeviLamina
Loading...
Searching...
No Matches
PlayerDimensionTransferManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/deps/game_refs/StackRefResult.h"
9#include "mc/deps/game_refs/WeakRef.h"
10
11// auto generated forward declare list
12// clang-format off
14class Dimension;
16class EntityContext;
17class EntityRegistry;
21class Player;
23// clang-format on
24
25class PlayerDimensionTransferManager {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlayerLimboActorManager> const> mPlayerLimboActorManager;
30 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPlayerDimensionTransferer>> const>
31 mPlayerDimensionTransferer;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> const> mGameplayUserManager;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> const> mDimensionManager;
34 ::ll::TypedStorage<8, 16, ::WeakRef<::EntityRegistry> const> mEntityRegistry;
35 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ILevelCrashDumpManager>> const> mLevelCrashDumpManager;
36 ::ll::TypedStorage<1, 1, bool> mLevelFinishedInitializing;
37 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserRemoved;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 PlayerDimensionTransferManager();
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI PlayerDimensionTransferManager(
48 ::std::unique_ptr<::PlayerLimboActorManager> playerLimboActorManager,
49 ::std::unique_ptr<::IPlayerDimensionTransferer> playerDimensionTransferer,
50 ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> dimensionManager,
51 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
52 ::gsl::not_null<::StackRefResult<::EntityRegistry>> const& entityRegistry,
53 ::std::unique_ptr<::ILevelCrashDumpManager> levelCrashDumpManager
54 );
55
56 MCAPI ::StackRefResult<::EntityRegistry> _getValidEntityRegistry();
57
58 MCAPI bool _isPlayerSuspended(::Player const& player) const;
59
60 MCAPI void _onGameplayUserRemoved(::EntityContext& entity);
61
62 MCAPI bool _playerChangeDimension(::Player& player, ::ChangeDimensionRequest& changeRequest);
63
64 MCAPI bool _playerChangeDimensionWaitingForChunks(
65 ::Player& player,
66 ::ChangeDimensionRequest& changeRequest,
67 ::Dimension& toDimension
68 );
69
70 MCAPI void handleChangeDimensionRequests();
71
72 MCAPI void requestPlayerChangeDimension(::Player const& player, ::ChangeDimensionRequest&& changeRequest);
73
74 MCAPI ~PlayerDimensionTransferManager();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(
81 ::std::unique_ptr<::PlayerLimboActorManager> playerLimboActorManager,
82 ::std::unique_ptr<::IPlayerDimensionTransferer> playerDimensionTransferer,
83 ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> dimensionManager,
84 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
85 ::gsl::not_null<::StackRefResult<::EntityRegistry>> const& entityRegistry,
86 ::std::unique_ptr<::ILevelCrashDumpManager> levelCrashDumpManager
87 );
88 // NOLINTEND
89
90public:
91 // destructor thunk
92 // NOLINTBEGIN
93 MCAPI void $dtor();
94 // NOLINTEND
95};
Definition ChangeDimensionRequest.h:15
Definition DimensionManager.h:26
Definition Dimension.h:86
Definition EntityContext.h:16
Definition EntityRegistry.h:10
Definition GameplayUserManager.h:22
Definition ILevelCrashDumpManager.h:8
Definition IPlayerDimensionTransferer.h:21
Definition PlayerLimboActorManager.h:21
Definition Player.h:129
Definition StackRefResult.h:7