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 _processAbilityChange(int index, bool checked);
103
104 MCAPI void _registerBindings();
105
106 MCAPI void _registerEventHandlers();
107
108 MCAPI void _registerSubControllers();
109
110 MCAPI void _setCurrentPermissionLevel(::PlayerPermissionLevel permissionLevel, bool checkDefaultCustomAbilities);
111
112 MCAPI void _setPermissionLevelEdu(::PlayerPermissionLevel permissionLevel);
113
114 MCAPI void _setPermissionLevelRealms(::PlayerPermissionLevel permissionLevel);
115
116 MCAPI void _syncAbilities();
117
118 MCAPI void openEduPermissionsPopup(::ActorUniqueID id);
119 // NOLINTEND
120
121public:
122 // constructor thunks
123 // NOLINTBEGIN
124 MCAPI void* $ctor(
125 ::std::shared_ptr<::ClientInstanceScreenModel> model,
126 ::ActorUniqueID defaultPlayerId,
127 ::std::weak_ptr<::UserDataScreenController> userDataScreenController,
128 ::ScreenExitBehavior exitBehavior
129 );
130 // NOLINTEND
131
132public:
133 // destructor thunk
134 // NOLINTBEGIN
135 MCAPI void $dtor();
136 // NOLINTEND
137
138public:
139 // virtual function thunks
140 // NOLINTBEGIN
141 MCAPI void $onOpen();
142
143 MCAPI ::ui::DirtyFlag $tick();
144
145 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
146
147 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
148
149 MCAPI void $onLeave();
150 // NOLINTEND
151
152public:
153 // vftables
154 // NOLINTBEGIN
156
157 MCNAPI static void** $vftableForScreenController();
158 // NOLINTEND
159};
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