LeviLamina
Loading...
Searching...
No Matches
LevelStorageManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/UniqueOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Connector.h"
9#include "mc/world/level/storage/ILevelStorageManagerConnector.h"
10
11// auto generated forward declare list
12// clang-format off
13class Dimension;
18class LevelStorage;
19class Player;
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 // vIndex: 0
54 virtual ~LevelStorageManager() /*override*/;
55
56 // vIndex: 1
57 virtual ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& getOnSaveConnector() /*override*/;
58
59 // vIndex: 2
60 virtual ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& getOnSaveGameDataConnector() /*override*/;
61
62 // vIndex: 3
63 virtual ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& getOnSaveLevelDataConnector() /*override*/;
64
65 // vIndex: 4
66 virtual ::Bedrock::PubSub::Connector<void(bool&)>& getOnCanStartGameSaveTimerCheckConnector() /*override*/;
67
68 // vIndex: 5
69 virtual ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& getOnStartLeaveGameConnector() /*override*/;
70
71 // vIndex: 6
72 virtual ::Bedrock::PubSub::Connector<void()>& getOnAppSuspendConnector() /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
80 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
81 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
82 ::IMinecraftEventing& eventing
83 );
84
85 MCAPI void _onNewDimensionCreated(::Dimension& dimension);
86
87 MCAPI void _savePlayer(::Player& player);
88
89 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> getLevelStorage();
90
91 MCAPI void initializeWithDimensionManager(::IDimensionManagerConnector& dimensionManagerConnector);
92
93 MCAPI void initializeWithPlayerDeathManager(::IPlayerDeathManagerConnector& playerDeathManagerConnector);
94
95 MCAPI void onStartLeaveGame();
96
97 MCAPI void save(::std::chrono::steady_clock::time_point currentTime);
98
99 MCAPI void saveGameData(::std::chrono::steady_clock::time_point currentTime);
100
101 MCAPI void saveLevelData();
102
103 MCAPI void trySaveGameData(::std::chrono::steady_clock::time_point currentTime);
104 // NOLINTEND
105
106public:
107 // constructor thunks
108 // NOLINTBEGIN
109 MCAPI void* $ctor(
111 ::std::unique_ptr<::GameDataSaveTimer> gameDataSaveTimer,
112 ::std::unique_ptr<::UserStorageChecker> userStorageChecker,
113 ::IMinecraftEventing& eventing
114 );
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCFOLD ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& $getOnSaveConnector();
127
128 MCAPI ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& $getOnSaveGameDataConnector();
129
130 MCFOLD ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& $getOnSaveLevelDataConnector();
131
132 MCFOLD ::Bedrock::PubSub::Connector<void(bool&)>& $getOnCanStartGameSaveTimerCheckConnector();
133
134 MCAPI ::Bedrock::PubSub::Connector<void(::LevelStorage&)>& $getOnStartLeaveGameConnector();
135
136 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnAppSuspendConnector();
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCAPI static void** $vftable();
143 // NOLINTEND
144};
Definition UniqueOwnerPointer.h:9
Definition Dimension.h:83
Definition GameDataSaveTimer.h:5
Definition IDimensionManagerConnector.h:13
Definition ILevelStorageManagerConnector.h:13
Definition IMinecraftEventing.h:143
Definition IPlayerDeathManagerConnector.h:13
Definition LevelStorageManager.h:23
Definition LevelStorage.h:24
Definition Player.h:119
Definition UserStorageChecker.h:13
Definition Alias.h:14