31 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::LevelStorage>>
const> mLevelStorage;
32 ::ll::TypedStorage<8, 80, ::SavedDataStorage> mSavedDataStorage;
33 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::GameDataSaveTimer>>> mGameDataSaveTimer;
34 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::UserStorageChecker>>> mUserStorageChecker;
44 mSaveGameDataPublisher;
49 mSaveLevelDataPublisher;
54 mCanStartSaveTimerCheckPublisher;
59 mOnStartLeaveGamePublisher;
61 mOnAppSuspendPublisher;
62 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerDeathSubscription;
63 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnDimensionCreatedSubscription;
64 ::ll::TypedStorage<1, 1, bool> mIsLevelTearingDown;
65 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
66 ::ll::TypedStorage<4, 4, uint> mPollSaveGameStatisticsCount;
82 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveConnector() ;
85 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveGameDataConnector() ;
88 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveLevelDataConnector() ;
91 virtual ::Bedrock::PubSub::Connector<void(
bool&)>& getOnCanStartGameSaveTimerCheckConnector() ;
94 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnStartLeaveGameConnector() ;
97 virtual ::Bedrock::PubSub::Connector<void()>& getOnAppSuspendConnector() ;
105 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
106 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
110 MCAPI
void _onNewDimensionCreated(
::Dimension& dimension);
112 MCAPI
void _savePlayer(
::Player& player);
114 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> getLevelStorage();
120 MCAPI
void save(::std::chrono::steady_clock::time_point currentTime);
122 MCAPI
void saveGameData(::std::chrono::steady_clock::time_point currentTime);
124 MCAPI
void saveLevelData();
126 MCAPI
void trySaveGameData(::std::chrono::steady_clock::time_point currentTime);
134 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
135 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
149 MCFOLD ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& $getOnSaveConnector();
151 MCAPI ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& $getOnSaveGameDataConnector();
153 MCFOLD ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& $getOnSaveLevelDataConnector();
155 MCFOLD ::Bedrock::PubSub::Connector<void(
bool&)>& $getOnCanStartGameSaveTimerCheckConnector();
157 MCAPI ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& $getOnStartLeaveGameConnector();
159 MCAPI ::Bedrock::PubSub::Connector<void()>& $getOnAppSuspendConnector();