30 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::LevelStorage>>
const> mLevelStorage;
31 ::ll::TypedStorage<8, 80, ::SavedDataStorage> mSavedDataStorage;
32 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::GameDataSaveTimer>>> mGameDataSaveTimer;
33 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::UserStorageChecker>>> mUserStorageChecker;
43 mSaveGameDataPublisher;
48 mSaveLevelDataPublisher;
53 mCanStartSaveTimerCheckPublisher;
58 mOnStartLeaveGamePublisher;
60 mOnAppSuspendPublisher;
61 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerDeathSubscription;
62 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnDimensionCreatedSubscription;
63 ::ll::TypedStorage<1, 1, bool> mIsLevelTearingDown;
64 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
65 ::ll::TypedStorage<4, 4, uint> mPollSaveGameStatisticsCount;
70 LevelStorageManager& operator=(LevelStorageManager
const&);
71 LevelStorageManager(LevelStorageManager
const&);
72 LevelStorageManager();
77 virtual ~LevelStorageManager() =
default;
79 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveConnector() ;
81 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveGameDataConnector() ;
83 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnSaveLevelDataConnector() ;
85 virtual ::Bedrock::PubSub::Connector<void(
bool&)>& getOnCanStartGameSaveTimerCheckConnector() ;
87 virtual ::Bedrock::PubSub::Connector<void(
::LevelStorage&)>& getOnStartLeaveGameConnector() ;
89 virtual ::Bedrock::PubSub::Connector<void()>& getOnAppSuspendConnector() ;
97 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
98 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
112 MCNAPI
void save(::std::chrono::steady_clock::time_point currentTime);
114 MCNAPI
void saveGameData(::std::chrono::steady_clock::time_point currentTime);
126 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
127 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
MCAPI void * $ctor(::Bedrock::UniqueOwnerPointer<::LevelStorage > levelStorage, ::std::unique_ptr<::GameDataSaveTimer > gameDataSaveTimer, ::std::unique_ptr<::UserStorageChecker > userStorageChecker, ::IMinecraftEventing &eventing)
MCAPI LevelStorageManager(::Bedrock::UniqueOwnerPointer<::LevelStorage > levelStorage, ::std::unique_ptr<::GameDataSaveTimer > gameDataSaveTimer, ::std::unique_ptr<::UserStorageChecker > userStorageChecker, ::IMinecraftEventing &eventing)