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*/ = default;
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 _confirmationDeoppingOtherDialog(::std::function<void(::ModalScreenButtonId)> callback);
73
74 MCAPI void _confirmationDeoppingSelfDialog(::std::function<void(::ModalScreenButtonId)> callback);
75
76 MCAPI void _confirmationNoCheatsDialog(::std::function<void(::ModalScreenButtonId)> callback);
77
78 MCAPI void _decidePermissions();
79
80 MCAPI void _evaluateCanEdit();
81
82 MCAPI bool _isLocalPlayerSelected() const;
83
84 MCAPI bool _isNonXboxLivePlayerSelected() const;
85
86 MCAPI void _populateClientIds();
87
88 MCAPI void _setCurrentPermissionLevel(::PlayerPermissionLevel permissionLevel, bool checkDefaultCustomAbilities);
89
90 MCAPI void _syncAbilities();
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(
97 ::std::shared_ptr<::ClientInstanceScreenModel> model,
98 ::ActorUniqueID defaultPlayerId,
99 ::std::weak_ptr<::UserDataScreenController> userDataScreenController,
100 ::ScreenExitBehavior exitBehavior
101 );
102 // NOLINTEND
103
104public:
105 // virtual function thunks
106 // NOLINTBEGIN
107 MCAPI void $onOpen();
108
109 MCAPI ::ui::DirtyFlag $tick();
110
111 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
112
113 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
114
115 MCAPI void $onLeave();
116 // NOLINTEND
117};
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Value.h:16
Definition PermissionsScreenController.h:5
Definition UserDataScreenController.h:5