Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
LevelChunkSaveManager.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/pub_sub/Subscription.h"
8#include "mc/world/level/ChunkPos.h"
9#include "mc/world/level/dimension/DimensionType.h"
10
11// auto generated forward declare list
12// clang-format off
13class ChunkSource;
18class LevelChunk;
19// clang-format on
20
21class LevelChunkSaveManager {
22public:
23 // LevelChunkSaveManager inner types declare
24 // clang-format off
27 // clang-format on
28
29 // LevelChunkSaveManager inner types define
31
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 4, int> mDist;
37 ::ll::TypedStorage<8, 8, ::ChunkPos> mPosition;
38 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
39 // NOLINTEND
40 };
41
42public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ILevelChunkSaveManagerProxy>> const>
46 mLevelChunkSaveManagerProxy;
47 ::ll::TypedStorage<
48 8,
49 32,
50 ::std::priority_queue<
52 ::std::vector<::LevelChunkSaveManager::LevelChunkQueuedSavingElement>,
54 mLevelChunkSaveQueue;
55 ::ll::TypedStorage<1, 1, bool> mChunkSaveInProgress;
56 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> const> mGameplayUserManager;
57 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> const> mDimensionManager;
58 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoadedSubscription;
59 // NOLINTEND
60
61public:
62 // prevent constructor by default
63 LevelChunkSaveManager();
64
65public:
66 // member functions
67 // NOLINTBEGIN
69 ::std::unique_ptr<::ILevelChunkSaveManagerProxy> levelChunkSaverProxy,
70 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
71 ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> dimensionManager
72 );
73
74 MCNAPI void _onChunkLoaded(::ChunkSource& chunkSource, ::LevelChunk& levelChunk, int closestPlayerDistanceSquared);
75
76 MCNAPI void registerForLevelChunkManagerEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
77
78 MCNAPI void trySaveChunks();
79
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCNAPI void* $ctor(
87 ::std::unique_ptr<::ILevelChunkSaveManagerProxy> levelChunkSaverProxy,
88 ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager,
89 ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> dimensionManager
90 );
91 // NOLINTEND
92
93public:
94 // destructor thunk
95 // NOLINTBEGIN
96 MCNAPI void $dtor();
97 // NOLINTEND
98};
Definition ChunkSource.h:37
Definition DimensionManager.h:30
Definition GameplayUserManager.h:25
Definition ILevelChunkEventManagerConnector.h:14
Definition ILevelChunkSaveManagerProxy.h:18
MCAPI void * $ctor(::std::unique_ptr<::ILevelChunkSaveManagerProxy > levelChunkSaverProxy, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager > gameplayUserManager, ::Bedrock::NotNullNonOwnerPtr<::DimensionManager > dimensionManager)
MCAPI void registerForLevelChunkManagerEvents(::ILevelChunkEventManagerConnector &levelChunkEventManagerConnector)
MCAPI void trySaveChunks()
MCAPI LevelChunkSaveManager(::std::unique_ptr<::ILevelChunkSaveManagerProxy > levelChunkSaverProxy, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager > gameplayUserManager, ::Bedrock::NotNullNonOwnerPtr<::DimensionManager > dimensionManager)
MCAPI ~LevelChunkSaveManager()
MCAPI void _onChunkLoaded(::ChunkSource &chunkSource, ::LevelChunk &levelChunk, int closestPlayerDistanceSquared)
Definition LevelChunk.h:76
Definition LevelChunkSaveManager.h:32