Isle
Loading...
Searching...
No Matches
mxcontrolpresenter.h
Go to the documentation of this file.
1#ifndef MXCONTROLPRESENTER_H
2#define MXCONTROLPRESENTER_H
3
4#include "decomp.h"
6
8
9// VTABLE: LEGO1 0x100d7b88
10// VTABLE: BETA10 0x101bf5d0
11// SIZE 0x5c
18public:
26 ~MxControlPresenter() override;
27
28 // FUNCTION: LEGO1 0x10043fd0
32 void RepeatingTickle() override {} // vtable+0x24
33
34 // FUNCTION: LEGO1 0x10043fe0
40 MxBool VTable0x64(undefined4 p_undefined) override { return m_unk0x50; } // vtable+0x64
41
42 // FUNCTION: LEGO1 0x10043ff0
47 virtual void VTable0x68(MxBool p_unk0x50) { m_unk0x50 = p_unk0x50; } // vtable+0x68
48
49 // FUNCTION: LEGO1 0x10044000
50 // FUNCTION: BETA10 0x100ebf80
55 const char* ClassName() const override // vtable+0x0c
56 {
57 // STRING: LEGO1 0x100f0514
58 return "MxControlPresenter";
59 }
60
61 // FUNCTION: LEGO1 0x10044010
67 MxBool IsA(const char* p_name) const override // vtable+0x10
68 {
69 return !strcmp(p_name, MxControlPresenter::ClassName()) || MxCompositePresenter::IsA(p_name);
70 }
71
75 void ReadyTickle() override; // vtable+0x18
79 void ParseExtra() override; // vtable+0x30
84 MxResult AddToManager() override; // vtable+0x34
91 MxResult StartAction(MxStreamController*, MxDSAction*) override; // vtable+0x3c
95 void EndAction() override; // vtable+0x40
101 MxBool HasTickleStatePassed(TickleState p_tickleState) override; // vtable+0x48
106 void Enable(MxBool p_enable) override; // vtable+0x54
111 virtual void VTable0x6c(MxS16 p_unk0x4e); // vtable+0x6c
112
120
128 MxBool FUN_10044270(MxS32 p_x, MxS32 p_y, MxPresenter* p_presenter);
129
134 MxS16 GetUnknown0x4e() { return m_unk0x4e; }
135
136private:
137 MxS16 m_unk0x4c;
138 MxS16 m_unk0x4e;
139 MxBool m_unk0x50;
140 MxS16 m_unk0x52;
141 MxS16 m_unk0x54;
142 MxS16 m_unk0x56;
143 MxS16* m_states;
144};
145
146// SYNTHETIC: LEGO1 0x100440f0
147// MxControlPresenter::`scalar deleting destructor'
148
149#endif // MXCONTROLPRESENTER_H
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
[AI] Composite presenter that manages a collection of child presenters, orchestrating their actions a...
MxBool IsA(const char *p_name) const override
[AI] Runtime type checking for presenter class hierarchy, supporting parent/child class checks.
[AI] Presenter for UI controls, supporting toggles, grids, and "map" style controls with multiple int...
MxResult StartAction(MxStreamController *, MxDSAction *) override
[AI] Starts a new UI control action, configuring sub-presenters as required and enabling/disabling th...
void ReadyTickle() override
[AI] Handles transition into the 'ready' tickle state; disables tickling and advances state.
MxBool FUN_10044270(MxS32 p_x, MxS32 p_y, MxPresenter *p_presenter)
[AI] Tests if an input event at position (x, y) targets the supplied presenter's region as defined by...
void Enable(MxBool p_enable) override
[AI] Enables or disables the control; delegates enable to correct sub-presenter based on current stat...
MxBool VTable0x64(undefined4 p_undefined) override
[AI] Virtual stub, returns current enabled flag for the presenter.
void RepeatingTickle() override
[AI] Override of idle/repeating tickle; does nothing by default in this implementation.
const char * ClassName() const override
[AI] Returns the class name string.
MxBool IsA(const char *p_name) const override
[AI] Checks class ancestry for runtime type information by comparing with this class and parent class...
MxResult AddToManager() override
[AI] Registers this presenter with the tickle manager and prepares for input handling.
~MxControlPresenter() override
[AI] Destructor, cleans up internal state memory.
virtual void VTable0x6c(MxS16 p_unk0x4e)
[AI] Selects a state/sub-control by index, or advances the currently selected state if -1 is provided...
MxBool HasTickleStatePassed(TickleState p_tickleState) override
[AI] Checks if a specific tickle state has passed for the currently active sub-presenter,...
MxS16 GetUnknown0x4e()
[AI] Returns the current selected/control state index.
void EndAction() override
[AI] Handles ending of a control's action; may fire notifications and update internal flags.
MxBool FUN_10044480(LegoControlManagerNotificationParam *p_param, MxPresenter *p_presenter)
[AI] Processes a notification param and presenter, reacting to input or click events; sets notificati...
void ParseExtra() override
[AI] Parses any configuration/customization provided in the extra data for the action,...
virtual void VTable0x68(MxBool p_unk0x50)
[AI] Changes the enabled state flag.
MxControlPresenter()
[AI] Constructs an uninitialized control presenter with default state.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
Definition: mxpresenter.h:20
TickleState
[AI] Represents the state of the presenter's tickle (update) lifecycle.
Definition: mxpresenter.h:23
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
#define override
Definition: compat.h:21
unsigned int undefined4
Definition: decomp.h:28
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
signed short MxS16
[AI]
Definition: mxtypes.h:26
signed int MxS32
[AI]
Definition: mxtypes.h:38