1#ifndef LEGOCONTROLMANAGER_H
2#define LEGOCONTROLMANAGER_H
93 return "LegoControlManager";
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
void SetClickedObjectId(MxS32 p_clickedObjectId)
[AI] Sets the object ID of the clicked control/presenter.
void SetUnknown0x28(MxS16 p_unk0x28)
[AI] Sets the value of the unknown field at offset 0x28.
const char * m_clickedAtom
[AI] Atom string for the clicked control (unique string identifier; may be NULL). [AI]
void SetClickedAtom(const char *p_clickedAtom)
[AI] Sets the atom string that identifies the clicked control.
LegoControlManagerNotificationParam()
[AI] Default constructor initializing members to their default invalid states.
MxS32 m_clickedObjectId
[AI] Object ID of the clicked control/presenter (or -1 if not set). [AI]
MxS16 m_unk0x28
[AI] Undetermined; settable via SetUnknown0x28. [AI]
const char * GetClickedAtom() const
[AI] Returns the atom string associated with the control event.
[AI] Manages control presenters and dispatches notifications for control/input events within the LEGO...
MxBool FUN_10029750()
[AI] Handles "button up" click resolution logic for the UI system.
MxBool FUN_10029630()
[AI] Handles "button down" logic for the input system over presenters.
void FUN_10028df0(MxPresenterList *p_presenterList)
[AI] Assigns the active presenter list to this control manager.
void FUN_100292e0()
[AI] Notifies all registered listeners with the current control event.
void Register(MxCore *p_listener)
[AI] Adds a listener to be notified of control events.
MxBool IsA(const char *p_name) const override
[AI] Checks if this class or one of its ancestors matches the given name.
const char * ClassName() const override
[AI] Returns the class name for this object.
MxResult Tickle() override
[AI] Performs periodic processing on the control manager, advancing internal event state and dispatch...
MxControlPresenter * FUN_100294e0(MxS32 p_x, MxS32 p_y)
[AI] Finds the topmost control presenter at the given screen coordinates.
LegoControlManager()
[AI] Constructs a LegoControlManager instance and registers it for tickle updates with the global tic...
undefined4 GetUnknown0x0c()
[AI] Gets the internal flag at offset 0x0c.
~LegoControlManager() override
[AI] Destructor; unregisters this manager from tickle management.
undefined GetUnknown0x10()
[AI] Gets the internal flag at offset 0x10.
MxBool FUN_10029210(LegoEventNotificationParam &p_param, MxPresenter *p_presenter)
[AI] Handles event notification logic, taking an event and possibly updating the manager/presenter st...
void Unregister(MxCore *p_listener)
[AI] Removes a listener so it no longer receives control events.
void FUN_100293c0(MxU32 p_objectId, const char *p_atom, MxS16 p_unk0x4e)
[AI] Dispatches a presenter event for the given object and atom parameters.
static const char * HandlerClassName()
[AI] Returns the class name identifier for this handler.
Notification parameter class for LEGO event notifications such as mouse events and modifier keys.
[AI] A list of notification targets (MxCore*) interested in input events (primarily keyboard).
[AI] Presenter for UI controls, supporting toggles, grids, and "map" style controls with multiple int...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
[AI] List to hold pointers to MxPresenter objects with optional ownership semantics.
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
#define NULL
[AI] Null pointer value (C/C++ semantics).