LeviLamina
Loading...
Searching...
No Matches
GameplayUserManager.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/deps/game_refs/OwnerPtr.h"
10#include "mc/world/level/IGameplayUserManagerConnector.h"
11
12// auto generated forward declare list
13// clang-format off
14class EntityContext;
18class LevelStorage;
20class Player;
21class WeakEntityRef;
22namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
23// clang-format on
24
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::WeakEntityRef>> mActiveGameplayUsers;
30 ::ll::TypedStorage<8, 24, ::std::vector<::WeakEntityRef>> mSuspendedGameplayUsers;
31 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::EntityContext>>> mGameplayUserEntities;
32 ::ll::TypedStorage<8, 24, ::std::vector<::GameplayUserSuspension>> mSuspendResumeList;
33 ::ll::TypedStorage<
34 8,
35 128,
37 mOnGameplayUserAdded;
38 ::ll::TypedStorage<
39 8,
40 128,
42 mOnGameplayUserResumedPublisher;
43 ::ll::TypedStorage<
44 8,
45 128,
47 mOnGameplayUserSuspendedPublisher;
48 ::ll::TypedStorage<
49 8,
50 128,
52 mOnPlayerRenamedPublisher;
53 ::ll::TypedStorage<
54 8,
55 128,
57 mOnGameplayUserRemovedPublisher;
59 mOnAnyGameplayUsersRemovedPublisher;
60 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnSaveGameDataSubscription;
61 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnCanStartGameSaveTimerCheckSubscription;
62 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnCreateMapSavedDataSubscription;
63 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::GameplayUserManagerProxy>>> mGameplayUserManagerProxy;
64 // NOLINTEND
65
66public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual ~GameplayUserManager() = default;
70
71 virtual ::Bedrock::PubSub::Connector<void(::EntityContext&)>& getGameplayUserAddedConnector() /*override*/;
72
73 virtual ::Bedrock::PubSub::Connector<void(::EntityContext const&)>& getGameplayUserResumedConnector() /*override*/;
74
75 virtual ::Bedrock::PubSub::Connector<void(::EntityContext const&)>&
76 getGameplayUserSuspendedConnector() /*override*/;
77
78 virtual ::Bedrock::PubSub::Connector<void(::Player const&)>& getPlayerRenamedConnector() /*override*/;
79
80 virtual ::Bedrock::PubSub::Connector<void(::EntityContext&)>& getGameplayUserRemovedConnector() /*override*/;
81
82 virtual ::Bedrock::PubSub::Connector<void()>& getAnyGameplayUsersRemovedConnector() /*override*/;
83 // NOLINTEND
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCAPI void _addTrackedMapPlayers(::MapItemSavedData& mapItemSavedData);
89
90 MCAPI void _forEachActivePlayer(::std::function<bool(::Player&)> callback, bool includeRemovedPlayers) const;
91
92 MCAPI void _saveAllPlayers(::LevelStorage& levelStorage);
93
94 MCAPI void cleanupRemovedGameplayUsers();
95
96 MCAPI void forEachActiveGameplayUser(::std::function<bool(::EntityContext&)> callback) const;
97
98 MCAPI bool isGameplayUserSuspended(::WeakEntityRef weakEntityUser) const;
99
100 MCAPI void registerMapDataManagerListener(::IServerMapDataManagerConnector& serverMapDataManagerConnector);
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI ::Bedrock::PubSub::Connector<void(::EntityContext&)>& $getGameplayUserAddedConnector();
107
108 MCAPI ::Bedrock::PubSub::Connector<void(::EntityContext const&)>& $getGameplayUserResumedConnector();
109
110 MCFOLD ::Bedrock::PubSub::Connector<void(::EntityContext const&)>& $getGameplayUserSuspendedConnector();
111
112 MCAPI ::Bedrock::PubSub::Connector<void(::Player const&)>& $getPlayerRenamedConnector();
113
114 MCAPI ::Bedrock::PubSub::Connector<void(::EntityContext&)>& $getGameplayUserRemovedConnector();
115
116 MCAPI ::Bedrock::PubSub::Connector<void()>& $getAnyGameplayUsersRemovedConnector();
117
118
119 // NOLINTEND
120};
Definition Publisher.h:25
Definition EntityContext.h:15
Definition GameplayUserManagerProxy.h:11
Definition GameplayUserManager.h:25
Definition GameplayUserSuspension.h:5
Definition IGameplayUserManagerConnector.h:14
Definition IServerMapDataManagerConnector.h:13
Definition LevelStorage.h:25
Definition MapItemSavedData.h:32
Definition Player.h:129
Definition WeakEntityRef.h:14