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 ::MapItemSavedData& createMapSavedData(
78 ::ActorUniqueID const& uuid,
79 ::BlockPos const& origin,
80 ::DimensionType dimension,
81 int returnScaleLevel
82 );
83
84 MCAPI ::ActorUniqueID expandMapByID(::ActorUniqueID uuid, bool wasInit);
85
86 MCAPI void registerOnSaveLevelDataSubscription(::ILevelStorageManagerConnector& levelStorageManagerConnector);
87
88 MCAPI void setPacketSender(::PacketSender& packetSender);
89
90 MCAPI void tick();
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(
97 ::DimensionManager& dimensionManager,
98 ::LevelStorage* levelStorage,
99 ::std::unique_ptr<::IMapDataManagerOptions> mapDataManagerOptions,
100 ::std::function<::ActorUniqueID()> getNewUniqueID
101 );
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCFOLD void $registerOnGameplayUserAddedSubscription(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
114
115 MCAPI ::MapItemSavedData& $createMapSavedData(::ActorUniqueID const& uuid);
116
117 MCAPI void $requestMapInfo(::ActorUniqueID const uuid, bool forceUpdate);
118
119 MCAPI void $_copyAndLockMap(::ActorUniqueID const originalMapUuid, ::ActorUniqueID const newMapUuid);
120
121
122 // NOLINTEND
123
124public:
125 // vftables
126 // NOLINTBEGIN
127 MCNAPI static void** $vftable();
128 // NOLINTEND
129};
Definition BlockPos.h:21
Definition DimensionManager.h:30
Definition IGameplayUserManagerConnector.h:14
Definition ILevelStorageManagerConnector.h:13
Definition IMapDataManagerOptions.h:10
Definition LevelStorage.h:26
static MCAPI void ** $vftable()
Definition MapItemSavedData.h:32
Definition PacketSender.h:17
Definition ActorUniqueID.h:10
Definition DimensionType.h:5