LeviLamina
Loading...
Searching...
No Matches
PlayerListManager.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/Publisher.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/platform/UUID.h"
10
11// auto generated forward declare list
12// clang-format off
13class EntityContext;
15class PacketSender;
16class PlayerListEntry;
20namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<::mce::UUID, ::PlayerListEntry>> mPlayerList;
28 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
29 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PlayerLocationReceiver>> mPlayerLocationReceiver;
30 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PlayerLocationSender>> mPlayerLocationSender;
31 ::ll::TypedStorage<
32 8,
33 128,
35 void(::PlayerListEntry const&, ::std::unordered_map<::mce::UUID, ::PlayerListEntry> const&),
37 0>>
38 mOnPlayerListEntryAdded;
39 ::ll::TypedStorage<
40 8,
41 128,
43 void(::PlayerListEntry const&, ::std::unordered_map<::mce::UUID, ::PlayerListEntry> const&),
45 0>>
46 mOnPlayerListEntryRemoved;
47 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAddedSubscription;
48 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserRemovedSubscription;
49 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnAnyGameplayUsersRemovedSubscription;
50 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlayerListPacket>> mPendingPlayerListRemovePacket;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI void _onAnyGameplayUsersRemoved();
57
58 MCAPI void _onGameplayUserAdded(::EntityContext& entity);
59
60 MCAPI void _onGameplayUserRemoved(::EntityContext& entity);
61
62#ifdef LL_PLAT_C
63 MCAPI void addPlayerEntry(::mce::UUID const& uuid, ::PlayerListEntry&& playerListEntry);
64#endif
65
66 MCAPI void initializeWithGameplayUserManagerOnServer(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
67
68 MCAPI void removeByUUID(::mce::UUID const& uuid);
69
70 MCAPI void setPlayerLocationReceiver(::Bedrock::NonOwnerPointer<::PlayerLocationReceiver> playerLocationReceiver);
71
72 MCAPI void setPlayerLocationSender(::Bedrock::NonOwnerPointer<::PlayerLocationSender> playerLocationSender);
73
74 MCAPI ::PlayerListEntry* tryGetPlayerEntry(::mce::UUID const& uuid);
75
76 MCAPI ~PlayerListManager();
77 // NOLINTEND
78
79public:
80 // destructor thunk
81 // NOLINTBEGIN
82 MCAPI void $dtor();
83 // NOLINTEND
84};
Definition NonOwnerPointer.h:9
Definition Publisher.h:25
Definition EntityContext.h:15
Definition IGameplayUserManagerConnector.h:14
Definition PacketSender.h:17
Definition PlayerListEntry.h:17
Definition PlayerListManager.h:23
Definition PlayerListPacket.h:19
Definition PlayerLocationReceiver.h:14
Definition PlayerLocationSender.h:20
Definition UUID.h:8