LeviLamina
Loading...
Searching...
No Matches
MapDataManager.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/legacy/ActorUniqueID.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
17class LevelStorage;
19class PacketSender;
20struct DimensionType;
21// clang-format on
22
23class MapDataManager {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::DimensionManager&> mDimensionManager;
28 ::ll::TypedStorage<8, 8, ::LevelStorage*> mLevelStorage;
29 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IMapDataManagerOptions>>> mMapDataManagerOptions;
30 ::ll::TypedStorage<8, 64, ::std::function<::ActorUniqueID()>> mGetNewUniqueID;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnSaveLevelData;
32 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::std::unique_ptr<::MapItemSavedData>>> mMapData;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 MapDataManager& operator=(MapDataManager const&);
39 MapDataManager(MapDataManager const&);
40 MapDataManager();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~MapDataManager();
46
47 virtual void registerOnGameplayUserAddedSubscription(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
48
49 virtual ::MapItemSavedData& createMapSavedData(::ActorUniqueID const& uuid);
50
51 virtual void requestMapInfo(::ActorUniqueID const uuid, bool forceUpdate);
52
53 virtual void _copyAndLockMap(::ActorUniqueID const originalMapUuid, ::ActorUniqueID const newMapUuid);
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI MapDataManager(
60 ::DimensionManager& dimensionManager,
61 ::LevelStorage* levelStorage,
62 ::std::unique_ptr<::IMapDataManagerOptions> mapDataManagerOptions,
63 ::std::function<::ActorUniqueID()> getNewUniqueID
64 );
65
66 MCAPI ::MapItemSavedData* _loadMapData(::ActorUniqueID const& uuid);
67
68 MCAPI void _onSaveLevelData(::LevelStorage& levelStorage);
69
70 MCAPI ::MapItemSavedData& createMapSavedData(
71 ::std::vector<::ActorUniqueID> const& mapIds,
72 ::BlockPos const& origin,
73 ::DimensionType dimension,
74 int returnScaleLevel
75 );
76
77 MCAPI void registerOnSaveLevelDataSubscription(::ILevelStorageManagerConnector& levelStorageManagerConnector);
78 // NOLINTEND
79
80public:
81 // constructor thunks
82 // NOLINTBEGIN
83 MCAPI void* $ctor(
84 ::DimensionManager& dimensionManager,
85 ::LevelStorage* levelStorage,
86 ::std::unique_ptr<::IMapDataManagerOptions> mapDataManagerOptions,
87 ::std::function<::ActorUniqueID()> getNewUniqueID
88 );
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCFOLD void $registerOnGameplayUserAddedSubscription(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
101
102 MCAPI ::MapItemSavedData& $createMapSavedData(::ActorUniqueID const& uuid);
103
104 MCAPI void $requestMapInfo(::ActorUniqueID const uuid, bool forceUpdate);
105
106 MCAPI void $_copyAndLockMap(::ActorUniqueID const originalMapUuid, ::ActorUniqueID const newMapUuid);
107
108
109 // NOLINTEND
110
111public:
112 // vftables
113 // NOLINTBEGIN
114 MCNAPI static void** $vftable();
115 // NOLINTEND
116};
Definition BlockPos.h:17
Definition DimensionManager.h:30
Definition IGameplayUserManagerConnector.h:14
Definition ILevelStorageManagerConnector.h:13
Definition IMapDataManagerOptions.h:10
Definition LevelStorage.h:25
static MCAPI void ** $vftable()
Definition MapItemSavedData.h:32
Definition PacketSender.h:17
Definition ActorUniqueID.h:5
Definition DimensionType.h:5