LeviLamina
Loading...
Searching...
No Matches
ServerMapDataManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Connector.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/server/IServerMapDataManagerConnector.h"
10#include "mc/world/level/MapDataManager.h"
11
12// auto generated forward declare list
13// clang-format off
15class EntityContext;
18class LevelStorage;
20struct ActorUniqueID;
21namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
22// clang-format on
23
24class ServerMapDataManager : public ::MapDataManager, public ::IServerMapDataManagerConnector {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<
29 8,
30 128,
32 mOnCreateMapSavedData;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAdded;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 ServerMapDataManager();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~ServerMapDataManager() /*override*/ = default;
44
45 virtual void
46 registerOnGameplayUserAddedSubscription(::IGameplayUserManagerConnector& gameplayUserManagerConnector) /*override*/;
47
48 virtual ::Bedrock::PubSub::Connector<void(::MapItemSavedData&)>& getOnCreateMapSavedDataConnector() /*override*/;
49
50 virtual ::MapItemSavedData& createMapSavedData(::ActorUniqueID const& uuid) /*override*/;
51
52 virtual void requestMapInfo(::ActorUniqueID const uuid, bool forceUpdate) /*override*/;
53
54 virtual void _copyAndLockMap(::ActorUniqueID const originalMapUuid, ::ActorUniqueID const newMapUuid) /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI ServerMapDataManager(
61 ::DimensionManager& dimensionManager,
62 ::LevelStorage* levelStorage,
63 ::std::unique_ptr<::IMapDataManagerOptions> mapDataManagerOptions,
64 ::std::function<::ActorUniqueID()> getNewUniqueID
65 );
66
67 MCAPI void _onGameplayUserAdded(::EntityContext& entity);
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCAPI void* $ctor(
74 ::DimensionManager& dimensionManager,
75 ::LevelStorage* levelStorage,
76 ::std::unique_ptr<::IMapDataManagerOptions> mapDataManagerOptions,
77 ::std::function<::ActorUniqueID()> getNewUniqueID
78 );
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCAPI void $registerOnGameplayUserAddedSubscription(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
85
86 MCFOLD ::Bedrock::PubSub::Connector<void(::MapItemSavedData&)>& $getOnCreateMapSavedDataConnector();
87
88 MCAPI ::MapItemSavedData& $createMapSavedData(::ActorUniqueID const& uuid);
89
90 MCFOLD void $requestMapInfo(::ActorUniqueID const uuid, bool forceUpdate);
91
92 MCAPI void $_copyAndLockMap(::ActorUniqueID const originalMapUuid, ::ActorUniqueID const newMapUuid);
93
94
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
101
102 MCNAPI static void** $vftableForMapDataManager();
103 // NOLINTEND
104};
Definition Publisher.h:8
Definition DimensionManager.h:29
Definition EntityContext.h:17
Definition IGameplayUserManagerConnector.h:14
Definition IMapDataManagerOptions.h:10
Definition IServerMapDataManagerConnector.h:13
Definition LevelStorage.h:26
Definition MapItemSavedData.h:31
static MCAPI void ** $vftableForMapDataManager()
static MCAPI void ** $vftableForIServerMapDataManagerConnector()
Definition ActorUniqueID.h:10