28 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager>
const> mGameplayUserManager;
29 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPlayerSleepPercentageGetter>>
const>
30 mPlayerSleepPercentageGetter;
31 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager>
const> mLevelEventManager;
36 mOnPlayerWakeUpPublisher;
38 mOnWakeUpAllPlayersPublisher;
39 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerDeathSubscription;
40 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAddedSubscription;
41 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserRemovedSubscription;
42 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription>
43 mOnAnyPlayerChangeDimensionPrepareRegionCompleteSubscription;
44 ::ll::TypedStorage<1, 1, bool> mEnoughPlayersAreSleeping;
45 ::ll::TypedStorage<1, 1, bool> mShouldSendSleepMessage;
50 ServerPlayerSleepManager();
55 virtual ~ServerPlayerSleepManager() =
default;
57 virtual void updateSleepingPlayerList() ;
59 virtual ::Bedrock::PubSub::Connector<void(
::Player&)>& getPlayerWakeUpConnector() ;
61 virtual ::Bedrock::PubSub::Connector<void()>& getOnWakeUpAllPlayersConnector() ;
67 MCAPI ServerPlayerSleepManager(
68 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
69 ::std::unique_ptr<::IPlayerSleepPercentageGetter> playerSleepPercentageGetter,
70 ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager> levelEventManager
73 MCFOLD
void _onPlayerDeath();
75 MCAPI
bool enoughPlayersDeepSleeping()
const;
82 MCAPI
void tickCheckToWakeUpPlayers();
89 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
90 ::std::unique_ptr<::IPlayerSleepPercentageGetter> playerSleepPercentageGetter,
91 ::Bedrock::NotNullNonOwnerPtr<::LevelEventManager> levelEventManager
98 MCAPI
void $updateSleepingPlayerList();
101 MCAPI ::Bedrock::PubSub::Connector<void(
::Player&)>& $getPlayerWakeUpConnector();
103 MCFOLD ::Bedrock::PubSub::Connector<void(
::Player&)>& $getPlayerWakeUpConnector();
107 MCAPI ::Bedrock::PubSub::Connector<void()>& $getOnWakeUpAllPlayersConnector();
109 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnWakeUpAllPlayersConnector();