29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager>
const> mGameplayUserManager;
30 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPlayerSleepPercentageGetter>>
const>
31 mPlayerSleepPercentageGetter;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager>
const> mLevelEventManager;
37 mOnPlayerWakeUpPublisher;
39 mOnWakeUpAllPlayersPublisher;
40 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerDeathSubscription;
41 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAddedSubscription;
42 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserRemovedSubscription;
43 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription>
44 mOnAnyPlayerChangeDimensionPrepareRegionCompleteSubscription;
45 ::ll::TypedStorage<1, 1, bool> mEnoughPlayersAreSleeping;
46 ::ll::TypedStorage<1, 1, bool> mShouldSendSleepMessage;
51 ServerPlayerSleepManager();
56 virtual ~ServerPlayerSleepManager() ;
58 virtual void updateSleepingPlayerList() ;
60 virtual ::Bedrock::PubSub::Connector<void(
::Player&)>& getPlayerWakeUpConnector() ;
62 virtual ::Bedrock::PubSub::Connector<void()>& getOnWakeUpAllPlayersConnector() ;
68 MCAPI ServerPlayerSleepManager(
69 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
70 ::std::unique_ptr<::IPlayerSleepPercentageGetter> playerSleepPercentageGetter,
71 ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager> levelEventManager
76 MCFOLD
void _onPlayerDeath();
78 MCAPI
bool enoughPlayersDeepSleeping()
const;
85 MCAPI
void setShouldSendSleepMessage(
bool shouldSend);
87 MCAPI
bool shouldSendSleepMessage()
const;
89 MCAPI
void tickCheckToWakeUpPlayers();
96 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
97 ::std::unique_ptr<::IPlayerSleepPercentageGetter> playerSleepPercentageGetter,
98 ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager> levelEventManager
111 MCAPI
void $updateSleepingPlayerList();
113 MCFOLD ::Bedrock::PubSub::Connector<void(
::Player&)>& $getPlayerWakeUpConnector();
115 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnWakeUpAllPlayersConnector();