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;
90 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
91 ::std::unique_ptr<::IPlayerSleepPercentageGetter> playerSleepPercentageGetter,
92 ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager> levelEventManager
105 MCAPI
void $updateSleepingPlayerList();
107 MCFOLD ::Bedrock::PubSub::Connector<void(
::Player&)>& $getPlayerWakeUpConnector();
109 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnWakeUpAllPlayersConnector();