22class PlayerPermissionsManager {
26 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PlayerAbilitiesManager>> mPlayerAbilitiesManager;
27 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PlayerListManager>> mPlayerListManager;
28 ::ll::TypedStorage<8, 64, ::std::function<
::Player*()>> mGetPrimaryLocalPlayer;
29 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCurrentPlayerID;
30 ::ll::TypedStorage<1, 2, ::std::optional<::PlayerPermissionLevel>> mCurrentPlayerPermissionLevel;
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::AbilitiesIndex, bool>>> mCurrentPlayerPermissionsList;
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::AbilitiesIndex, bool>>> mLocalPlayerPermissionsList;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPlayerAbilitiesSubscription;
39 mPlayerPermissionsChangedPublisher;
47 mCachedPlayerPermissionLevelChangedPublisher;
52 PlayerPermissionsManager();
57 virtual ~PlayerPermissionsManager();
65 MCAPI PlayerPermissionsManager(
68 ::std::function<
::Player*()> getPrimaryLocalPlayer
71 MCAPI
void _loadLocalPermissionsList();
74 MCAPI ::std::unordered_map<int, bool>
75 _playerAbilitiesListToMap(::std::vector<::std::pair<::AbilitiesIndex, bool>> playerAbilitiesList);
77 MCAPI
void _updatePermissionLevel();
79 MCAPI
void _updatePermissionsList();
81 MCAPI
bool arePermissionsSynced(
82 ::std::optional<::PlayerPermissionLevel> playerPermissionLevel,
83 ::std::vector<::std::pair<::AbilitiesIndex, bool>> playerPermissions
86 MCAPI
bool evaluateCanEditPermissions(
89 bool isHostingLocalDedicatedServer
94 MCFOLD ::Bedrock::PubSub::Publisher<
98 getCachedPlayerPermissionLevelChangedPublisher();
100 MCFOLD ::ActorUniqueID getCurrentPlayerId()
const;
102 MCAPI ::std::optional<::PlayerPermissionLevel> getCurrentPlayerPermissionLevel(
::ActorUniqueID playerId)
const;
104 MCAPI ::std::optional<::std::vector<::std::pair<::AbilitiesIndex, bool>>>
107 MCAPI ::PlayerListEntry* getPlayerFromAUID(
::ActorUniqueID playerId)
const;
109 MCFOLD ::Bedrock::PubSub::
111 getPlayerPermissionsChangedPublisher();
123 MCAPI
bool setPlayerPermission(
::ActorUniqueID playerId, ::AbilitiesIndex index,
bool value);
125 MCAPI
bool setPlayerPermissionLevel(
::ActorUniqueID playerId, ::PlayerPermissionLevel permissionLevel);
135 ::std::function<
::Player*()> getPrimaryLocalPlayer
Definition PlayerListEntry.h:20