129 return "MxPresenter";
[AI] Composite presenter that manages a collection of child presenters, orchestrating their actions a...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Provides a critical section object for mutual exclusion with optional use of OS mutex.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
MxEntity is a base class for game entities which are uniquely identified by an integer ID and an Atom...
[AI] Central subsystem coordinator and singleton of the LEGO Island engine.
[AI] 2D point with 32-bit signed integer coordinates.
T GetY() const
[AI] Get Y coordinate.
T GetX() const
[AI] Get X coordinate.
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
virtual void ParseExtra()
[AI] Parses additional data from the associated action for configuration or world interaction.
virtual void SetTickleState(TickleState p_tickleState)
[AI] Forces the tickle state, advancing to the requested lifecycle stage.
MxS32 m_displayZ
[AI] Z-order value for display stacking.
virtual void EndAction()
[AI] Terminates the current action, notifies listeners and resets state.
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
virtual void RepeatingTickle()
[AI] Handles updates when in a repeating (looping) stage. Advances to freezing state.
MxPoint32 GetLocation() const
[AI] Returns the presenter's screen location (in pixels).
virtual void Enable(MxBool p_enable)
[AI] Enables or disables this presenter (controls action flags accordingly).
virtual MxResult PutData()
[AI] Allows the presenter to submit pending results or output to the engine.
MxBool IsEnabled()
[AI] Returns whether this presenter is logically enabled (based on the associated action's flags).
static const char * HandlerClassName()
[AI] Returns the handler class name for identification and reflection purposes.
const char * ClassName() const override
[AI] Returns the run-time class name for this presenter.
virtual MxResult StartAction(MxStreamController *, MxDSAction *)
[AI] Initiates presenter for a new action, setting up context and state.
MxPresenter()
[AI] Constructor. Initializes internal tickle state and other members.
MxU32 m_previousTickleStates
[AI] Bitfield representing all tickle states that have already occurred during this lifetime.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
MxS32 GetCurrentTickleState() const
[AI] Returns the current tickle state.
TickleState m_currentTickleState
[AI] Current state in the tickle lifecycle.
virtual MxBool HasTickleStatePassed(TickleState p_tickleState)
[AI] Checks if the specified tickle state has ever been passed since last reset.
virtual void StartingTickle()
[AI] Handles actions required when first starting presentation. Advances to streaming state.
void Init()
[AI] Initializes object state to post-construction defaults.
MxS32 GetX() const
[AI] Returns the X coordinate of screen location.
virtual void VTable0x14()
[AI] Reserved for future or specialized use in derived classes.
void SetDisplayZ(MxS32 p_displayZ)
[AI] Sets the display Z (depth) order for the presenter.
virtual void FreezingTickle()
[AI] Handles updates during the freezing/suspended state. Advances to done state.
void SetAction(MxDSAction *p_action)
[AI] Sets the action associated with this presenter.
MxResult Tickle() override
[AI] Main tickle handler, called periodically to progress presenter's internal state.
MxEntity * CreateEntity(const char *p_defaultName)
[AI] Creates an entity based on action 'extra' data, or uses the provided default name.
MxS32 GetDisplayZ() const
[AI] Returns the display Z (depth) order.
MxS32 GetY() const
[AI] Returns the Y coordinate of screen location.
TickleState
[AI] Represents the state of the presenter's tickle (update) lifecycle.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
@ e_done
[AI] Completed processing the current action.
@ e_idle
[AI] Not processing an action.
@ e_ready
[AI] Prepared to start processing an action.
@ e_freezing
[AI] Temporarily suspending updates or playback.
@ e_starting
[AI] In the process of starting playback/presentation.
@ e_streaming
[AI] Streaming or rendering actively.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
virtual void StreamingTickle()
[AI] Handles periodic updates during the streaming/presentation stage. Advances to repeating state.
MxCompositePresenter * m_compositePresenter
[AI] Owner composite presenter, if any.
MxBool IsA(const char *p_name) const override
[AI] Determines if this object is of (or inherits) the specified named class.
virtual void Destroy()
[AI] Resets presenter state or cleans up resources after completion/removal.
virtual MxResult AddToManager()
[AI] Optional registration with a manager (such as TickleManager); by default does nothing.
void SendToCompositePresenter(MxOmni *p_omni)
[AI] Notifies a composite presenter (if one exists) that this presenter wishes to join a group.
MxPoint32 m_location
[AI] 2D display location for the presenter.
virtual void ReadyTickle()
[AI] Handles the transition and setup for the Ready state. Parses extra action data and advances stat...
void SetCompositePresenter(MxCompositePresenter *p_compositePresenter)
[AI] Sets the composite presenter to notify/join on completion.
MxDSAction * GetAction() const
[AI] Returns the current action being presented.
virtual void DoneTickle()
[AI] Handles any post-completion logic, resetting to idle state.
virtual MxBool IsHit(MxS32 p_x, MxS32 p_y)
[AI] Returns TRUE if the given (x, y) falls within hit-test bounds for the presenter (e....
~MxPresenter() override
[AI] Destructor, cleans up resources (base class: does nothing beyond Init).
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
const char * PresenterNameDispatch(const MxDSAction &)
[AI] Provides a mapping from action object/type to the correct presenter handler class name based on ...