LeviLamina
Loading...
Searching...
No Matches
PermissionsScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/screens/controllers/ClientInstanceScreenController.h"
9#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
10#include "mc/client/gui/screens/controllers/ScreenExitBehavior.h"
11#include "mc/legacy/ActorUniqueID.h"
12#include "mc/server/commands/PlayerPermissionLevel.h"
13#include "mc/world/actor/player/LayeredAbilities.h"
14
15// auto generated forward declare list
16// clang-format off
19namespace Json { class Value; }
20// clang-format on
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 1, bool> mEDUPermissionsPopupActive;
27 ::ll::TypedStorage<1, 1, bool> mPermissionDropdownActive;
28 ::ll::TypedStorage<8, 1464, ::LayeredAbilities> mStartAbilityCache;
29 ::ll::TypedStorage<8, 1464, ::LayeredAbilities> mAbilities;
30 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mDefaultPlayerId;
31 ::ll::TypedStorage<8, 8, uint64> mSelectedPlayerIndex;
32 ::ll::TypedStorage<1, 1, bool> mCanEdit;
33 ::ll::TypedStorage<1, 1, bool> mPlayerListInitialized;
34 ::ll::TypedStorage<1, 1, bool> mContentAreaActive;
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mPermissionNames;
36 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> mClientIds;
37 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UserDataScreenController>> mUserDataScreenController;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 PermissionsScreenController();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~PermissionsScreenController() /*override*/;
48
49 virtual void onOpen() /*override*/;
50
51 virtual ::ui::DirtyFlag tick() /*override*/;
52
53 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
54
55 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
56
57 virtual void onLeave() /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI PermissionsScreenController(
64 ::std::shared_ptr<::ClientInstanceScreenModel> model,
65 ::ActorUniqueID defaultPlayerId,
66 ::std::weak_ptr<::UserDataScreenController> userDataScreenController,
67 ::ScreenExitBehavior exitBehavior
68 );
69
70 MCAPI void _closeEduPermissionsPopup();
71
72 MCAPI void _confirmationBanningPlayerDialog(
73 ::std::string const& selectedPlayerName,
74 ::std::function<void(::ModalScreenButtonId)> callback
75 );
76
77 MCAPI void _confirmationDeoppingOtherDialog(::std::function<void(::ModalScreenButtonId)> callback);
78
79 MCAPI void _confirmationDeoppingSelfDialog(::std::function<void(::ModalScreenButtonId)> callback);
80
81 MCAPI void _confirmationKickingPlayerDialog(
82 ::std::string const& selectedPlayerName,
83 ::std::function<void(::ModalScreenButtonId)> callback
84 );
85
86 MCAPI void _confirmationNoCheatsDialog(::std::function<void(::ModalScreenButtonId)> callback);
87
88 MCAPI void _confirmationRemovingPlayerDialog(::std::function<void(::ModalScreenButtonId)> callback);
89
90 MCAPI void _decidePermissions();
91
92 MCAPI void _evaluateCanEdit();
93
94 MCAPI void _handleOperatorAbility();
95
96 MCAPI bool _isLocalPlayerSelected() const;
97
98 MCAPI bool _isNonXboxLivePlayerSelected() const;
99
100 MCAPI void _populateClientIds();
101
102 MCAPI void _registerBindings();
103
104 MCAPI void _registerEventHandlers();
105
106 MCAPI void _setCurrentPermissionLevel(::PlayerPermissionLevel permissionLevel, bool checkDefaultCustomAbilities);
107
108 MCAPI void _setPermissionLevelEdu(::PlayerPermissionLevel permissionLevel);
109
110 MCAPI void _setPermissionLevelRealms(::PlayerPermissionLevel permissionLevel);
111
112 MCAPI void _syncAbilities();
113
114 MCAPI void openEduPermissionsPopup(::ActorUniqueID id);
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCAPI void* $ctor(
121 ::std::shared_ptr<::ClientInstanceScreenModel> model,
122 ::ActorUniqueID defaultPlayerId,
123 ::std::weak_ptr<::UserDataScreenController> userDataScreenController,
124 ::ScreenExitBehavior exitBehavior
125 );
126 // NOLINTEND
127
128public:
129 // destructor thunk
130 // NOLINTBEGIN
131 MCAPI void $dtor();
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCAPI void $onOpen();
138
139 MCAPI ::ui::DirtyFlag $tick();
140
141 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
142
143 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
144
145 MCAPI void $onLeave();
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
152
153 MCNAPI static void** $vftableForScreenController();
154 // NOLINTEND
155};
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Value.h:16
Definition PermissionsScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition UserDataScreenController.h:5