3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/SceneType.h"
9#include "mc/client/gui/ViewRequest.h"
10#include "mc/client/gui/screens/interfaces/IScreenController.h"
11#include "mc/deps/input/enums/ButtonState.h"
12#include "mc/platform/brstd/move_only_function.h"
32namespace Json {
class Value; }
33namespace mce {
class Color; }
44 enum class PreviousButtonStateRequirement :
int {
52 enum class SliderChangeType :
int {
107 virtual ::ui::DirtyFlag tick() ;
110 virtual void preFrameTick() ;
113 virtual ::ui::ViewRequest handleEvent(
::ScreenEvent& screenEvent) ;
116 virtual ::std::optional<::std::string> getRoute() const ;
119 virtual
void setScreenState(::
std::vector<::
std::pair<::
std::string_view, ::
std::string_view>> const&) ;
122 virtual
void onOpen();
125 virtual
void queueTitleNarration();
128 virtual
void onTerminate();
131 virtual
void onInit();
134 virtual
void onDelete();
137 virtual
bool canExit();
140 virtual ::ui::ViewRequest tryExit();
143 virtual
void onCreation();
146 virtual
void onReload();
149 virtual
void onLeave();
152 virtual
void leaveScreen(::
std::
string const&);
155 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification);
159 ::
std::
string const& collectionName,
160 uint collectionNameHash,
162 ::
std::
string const& bindingName,
163 uint bindingNameHash,
164 ::
std::
string const& bindingNameOverride,
170 ::
std::
string const& bindingName,
171 uint bindingNameHash,
172 ::
std::
string const& bindingNameOverride,
177 virtual
void handleLicenseChanged();
180 virtual
void setAssociatedBlockPos(::
BlockPos const& pos);
183 virtual
void setAssociatedEntityUniqueID(::
ActorUniqueID const unqiueID);
186 virtual
void setSuspendInput(
bool);
189 virtual
void setSuspendDirectionalInput(
bool);
195 virtual
void addStaticScreenVars(::Json::Value& globalVars);
198 virtual ::
std::
string getAdditionalScreenInfo() const;
201 virtual ::
std::
string getTelemetryOverride() const;
204 virtual
void addEventProperties(::
std::unordered_map<::
std::
string, ::
std::
string>&) const;
207 virtual ::ui::SceneType getSceneType() const;
210 virtual
int getScreenVersion() const;
213 virtual uint getSceneId() const;
219 virtual
void onEntered();
222 virtual
void onScreenPushedAbove();
225 virtual
void onEntering();
228 virtual
bool _doesScreenHaveExitBehavior() const;
231 virtual
bool _isContainerScreen() const;
249 ::brstd::move_only_function<
bool() const> callback,
250 ::brstd::move_only_function<
bool() const> condition
255 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> callback,
256 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
262 ::brstd::move_only_function<
bool(
int) const> callback,
263 ::brstd::move_only_function<
bool(
int) const> condition
268 ::brstd::move_only_function<::mce::Color() const> callback,
269 ::brstd::move_only_function<
bool() const> condition
275 ::brstd::move_only_function<::mce::Color(
int) const> callback,
276 ::brstd::move_only_function<
bool(
int) const> condition
281 ::brstd::move_only_function<::mce::Color(::
UIPropertyBag&) const> callback,
282 ::brstd::move_only_function<
bool() const> condition
287 ::brstd::move_only_function<
double(::
std::
string const&,
int) const> callback,
288 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
293 ::brstd::move_only_function<
float() const> callback,
294 ::brstd::move_only_function<
bool() const> condition
299 ::brstd::move_only_function<
float(::
std::
string const&,
int) const> callback,
300 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
306 ::brstd::move_only_function<
float(
int) const> callback,
307 ::brstd::move_only_function<
bool(
int) const> condition
312 ::brstd::move_only_function<
void(
int, ::
std::
string const&, ::
UIPropertyBag&) const> callback,
313 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
318 ::brstd::move_only_function<
void(::
std::
string const&,
int, ::
std::
string const&, ::
UIPropertyBag&) const>
320 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
326 ::brstd::move_only_function<
void(
int, ::
std::
string const&, ::
UIPropertyBag&) const> func
331 ::brstd::move_only_function<
void(::
std::
string const&, ::
UIPropertyBag&) const> func
336 ::brstd::move_only_function<
void(::
std::
string const&, ::
UIPropertyBag&) const> callback,
337 ::brstd::move_only_function<
bool() const> condition
342 ::brstd::move_only_function<::glm::ivec2() const> callback,
343 ::brstd::move_only_function<
bool() const> condition
348 ::brstd::move_only_function<
int() const> callback,
349 ::brstd::move_only_function<
bool() const> condition
354 ::brstd::move_only_function<
int(::
std::
string const&,
int) const> callback,
355 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
361 ::brstd::move_only_function<
int(
int) const> callback,
362 ::brstd::move_only_function<
bool(
int) const> condition
368 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
373 ::brstd::move_only_function<::
std::
string() const> callback,
374 ::brstd::move_only_function<
bool() const> condition
379 ::brstd::move_only_function<::
std::
string(::
std::
string const&,
int) const> callback,
380 ::brstd::move_only_function<
bool(::
std::
string const&,
int) const> condition
386 ::brstd::move_only_function<::
std::
string(
int) const> callback,
387 ::brstd::move_only_function<
bool(
int) const> condition
399 ::ButtonState currentState,
400 ::ButtonState previousState,
401 ::brstd::move_only_function<::ui::ViewRequest(::
UIPropertyBag*) const> callback
406 ::ButtonState currentState,
407 ::
ScreenController::PreviousButtonStateRequirement previousStateRequirement,
408 ::brstd::move_only_function<::ui::ViewRequest(::
UIPropertyBag*) const> callback
413 ::brstd::move_only_function<::ui::ViewRequest(::
UIPropertyBag*) const> callback
418 ::brstd::move_only_function<::ui::ViewRequest(::
UIPropertyBag*) const> callback
423 ::brstd::move_only_function<::ui::ViewRequest(::
UIPropertyBag*) const> callback
428 ::brstd::move_only_function<::ui::ViewRequest(
bool, ::
UIPropertyBag&) const> callback
433 ::brstd::move_only_function<::ui::ViewRequest(
int,
int, ::
UIPropertyBag&) const> callback
453 ::brstd::move_only_function<::ui::ViewRequest(
int,
float) const> callback
458 ::brstd::move_only_function<::ui::ViewRequest(
int,
float) const> callback
463 ::brstd::move_only_function<::ui::ViewRequest(
int,
float) const> callback
494 MCNAPI
void*
$ctor(
bool useTaskGroup);
541 ::
std::
string const& collectionName,
542 uint collectionNameHash,
544 ::
std::
string const& bindingName,
545 uint bindingNameHash,
546 ::
std::
string const& bindingNameOverride,
551 ::
std::
string const& bindingName,
552 uint bindingNameHash,
553 ::
std::
string const& bindingNameOverride,
Definition ScreenControllerProxy.h:10
Definition ScreenController.h:36
MCAPI::std::string $getAdditionalScreenInfo() const
MCAPI void $setAssociatedEntityUniqueID(::ActorUniqueID const unqiueID)
MCAPI void registerPointerHeldEventHandler(::brstd::move_only_function<::ui::ViewRequest(::PointerHeldScreenEventData &) const > callback)
MCAPI void bindIntForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function< int(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI void _registerSubController(::std::shared_ptr<::ScreenController > controller)
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
MCAPI void bindForGlobalGridSize(::StringHash const &bindingName, ::brstd::move_only_function< void(::std::string const &, ::UIPropertyBag &) const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void bindForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function< void(int, ::std::string const &, ::UIPropertyBag &) const > func)
MCAPI void bindColorForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function<::mce::Color(int) const > callback, ::brstd::move_only_function< bool(int) const > condition)
MCAPI void * $ctor(bool useTaskGroup)
MCAPI::ui::DirtyFlag $tick()
MCAPI::ScreenControllerProxy * $getProxy()
MCAPI void registerClippedCollectionEventHandler(::StringHash const &collectionName, ::brstd::move_only_function<::ui::ViewRequest(int, int, ::UIPropertyBag &) const > callback)
MCAPI void bindForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function< void(int, ::std::string const &, ::UIPropertyBag &) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI void $onScreenPushedAbove()
MCAPI void registerButtonInteractedHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::UIPropertyBag *) const > callback)
MCAPI::ui::SceneType $getSceneType() const
static MCAPI void ** $vftable()
MCAPI void bindInt(::StringHash const &bindingName, ::brstd::move_only_function< int() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void bindFloatForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function< float(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI void $setAssociatedBlockPos(::BlockPos const &pos)
MCAPI void bindBoolForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function< bool(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI void registerInputModechangedEventHandler(::brstd::move_only_function<::ui::ViewRequest(::InputModeChangeScreenEventData &) const > callback)
MCAPI int $getScreenVersion() const
MCAPI void registerFocusMovedEventHandler(::brstd::move_only_function<::ui::ViewRequest(::FocusMoveScreenEventData &) const > callback)
MCAPI bool $bind(::std::string const &collectionName, uint collectionNameHash, int collectionIndex, ::std::string const &bindingName, uint bindingNameHash, ::std::string const &bindingNameOverride, ::UIPropertyBag &bag)
MCAPI void bindGridSize(::StringHash const &bindingName, ::brstd::move_only_function<::glm::ivec2() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void $setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view > > const &)
MCAPI ::std::optional<::std::string > $getRoute() const
MCAPI void registerSliderNotFinishedEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(int, float) const > callback)
MCAPI void $setSuspendInput(bool)
MCAPI void registerTextEditSelectedStateChangeEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::TextEditSelectedStateChangeEventData &) const > callback)
MCAPI::ui::ViewRequest _handleEvent(::ScreenEvent &screenEvent)
MCAPI void bindStringForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function<::std::string(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI uint $getSceneId() const
MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string > &) const
MCAPI bool $_isContainerScreen() const
MCAPI void registerClipStateChangeEventHandler(uint eventId, ::brstd::move_only_function<::ui::ViewRequest(bool, ::UIPropertyBag &) const > callback)
MCAPI void bindItemDataForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function<::ItemRendererData(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI void bindIntForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function< int(int) const > callback, ::brstd::move_only_function< bool(int) const > condition)
MCAPI::ui::ViewRequest $handleEvent(::ScreenEvent &screenEvent)
MCAPI void bindBool(::StringHash const &bindingName, ::brstd::move_only_function< bool() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void $queueTitleNarration()
MCAPI void registerCustomRendererEventHandler(uint eventId, ::brstd::move_only_function<::ui::ViewRequest() const > callback)
MCAPI void $leaveScreen(::std::string const &)
MCAPI void registerToggleChangeEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::ToggleChangeEventData &) const > callback)
MCAPI void $preFrameTick()
MCAPI void queueAsyncTask(::brstd::move_only_function<::TaskResult()> &&task, ::std::function< void()> &&callback)
MCAPI void registerSliderFinishedEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(int, float) const > callback)
MCAPI::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification)
MCAPI void bindFloat(::StringHash const &bindingName, ::brstd::move_only_function< float() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void bindForGlobal(::StringHash const &bindingName, ::brstd::move_only_function< void(::std::string const &, ::UIPropertyBag &) const > func)
MCAPI void registerTextEventHandler(::brstd::move_only_function<::ui::ViewRequest(::TextEditScreenEventData &, int) const > callback)
MCAPI void $setSuspendDirectionalInput(bool)
MCAPI bool hasFinishedAsyncTasks() const
MCAPI void bindStringForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function<::std::string(int) const > callback, ::brstd::move_only_function< bool(int) const > condition)
MCAPI void bindDoubleForAnyCollection(::StringHash const &bindingName, ::brstd::move_only_function< double(::std::string const &, int) const > callback, ::brstd::move_only_function< bool(::std::string const &, int) const > condition)
MCAPI::std::string $getTelemetryOverride() const
MCAPI void registerSliderChangedEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(int, float) const > callback)
MCAPI void bindFloatForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function< float(int) const > callback, ::brstd::move_only_function< bool(int) const > condition)
MCAPI void bindColor(::StringHash const &bindingName, ::brstd::move_only_function<::mce::Color() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void registerButtonReleasedHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::UIPropertyBag *) const > callback)
MCAPI void $onTerminate()
MCAPI void registerButtonPressedHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::UIPropertyBag *) const > callback)
MCAPI void bindBoolForCollection(::StringHash const &collectionName, ::StringHash const &bindingName, ::brstd::move_only_function< bool(int) const > callback, ::brstd::move_only_function< bool(int) const > condition)
MCAPI void registerTextEditChangedEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::TextEditScreenEventData &, int) const > callback)
MCAPI void registerTextEditFinishedEventHandler(uint buttonId, ::brstd::move_only_function<::ui::ViewRequest(::TextEditScreenEventData &, int) const > callback)
MCAPI void bindColorWithPropertyBag(::StringHash const &bindingName, ::brstd::move_only_function<::mce::Color(::UIPropertyBag &) const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI void $setViewCommand(::ScreenViewCommand const &callback)
MCAPI void $handleLicenseChanged()
MCAPI bool $_doesScreenHaveExitBehavior() const
MCAPI void registerButtonEventHandler(uint buttonId, ::ButtonState currentState, ::ButtonState previousState, ::brstd::move_only_function<::ui::ViewRequest(::UIPropertyBag *) const > callback)
MCAPI void bindString(::StringHash const &bindingName, ::brstd::move_only_function<::std::string() const > callback, ::brstd::move_only_function< bool() const > condition)
MCAPI uint _getNameId(::std::string const &name) const
MCAPI::ui::ViewRequest $tryExit()
MCAPI void registerAnimationEventHandler(uint eventId, ::brstd::move_only_function<::ui::ViewRequest() const > callback)
MCAPI::ui::ViewRequest _handleButtonEvent(::ScreenEvent &screenEvent)
Definition TaskResult.h:5
Definition UIPropertyBag.h:15
Definition ActorUniqueID.h:5
Definition FocusMoveScreenEventData.h:5
Definition IScreenController.h:5
Definition ItemRendererData.h:5
Definition PointerHeldScreenEventData.h:5
Definition ScreenEvent.h:5
Definition ScreenViewCommand.h:5
Definition StringHash.h:5
Definition TextEditScreenEventData.h:5
Definition TextEditSelectedStateChangeEventData.h:5
Definition ToggleChangeEventData.h:5
Definition _HeaderOutputPredefine.h:273