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