Isle
|
[AI] Composite presenter class that manages a multi-media animation sequence. More...
#include <legoanimmmpresenter.h>
Public Types | |
enum | { e_unk0 , e_unk1 , e_unk2 , e_unk3 , e_unk4 , e_unk5 , e_unk6 , e_unk7 } |
[AI] States/steps for a staged tickle sequence through the complex animation. More... | |
![]() | |
enum | TickleState { e_idle = 0 , e_ready , e_starting , e_streaming , e_repeating , e_freezing , e_done } |
[AI] Represents the state of the presenter's tickle (update) lifecycle. More... | |
Public Member Functions | |
LegoAnimMMPresenter () | |
[AI] Constructs a LegoAnimMMPresenter, initializing all members. More... | |
~LegoAnimMMPresenter () override | |
[AI] Destructor. More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Handles notifications for the presenter. More... | |
const char * | ClassName () const override |
[AI] Returns the runtime class name. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Returns whether this instance is of the given class or inherits from it. More... | |
void | ReadyTickle () override |
[AI] Tickle callback for the ready state. More... | |
void | StartingTickle () override |
[AI] Tickle callback for the starting state. More... | |
void | StreamingTickle () override |
[AI] Tickle callback for the streaming state. More... | |
void | RepeatingTickle () override |
[AI] Tickle callback for the repeating state. More... | |
void | DoneTickle () override |
[AI] Tickle callback for the done state. More... | |
void | ParseExtra () override |
[AI] Parses the "Extra" field from the current action to extract TranInfo and animation manager ID for this presenter. More... | |
MxResult | StartAction (MxStreamController *p_controller, MxDSAction *p_action) override |
[AI] Starts a composite action, creating subordinate presenters for each child action. More... | |
void | EndAction () override |
[AI] Ends the composite action, unregisters and resets relevant state. More... | |
void | VTable0x60 (MxPresenter *p_presenter) override |
[AI] (Internal use) Handles a state transfer/notification from a child presenter to this composite presenter. More... | |
MxBool | FUN_1004b830 () |
[AI] Returns true if the presenter state has reached or surpassed e_unk6. More... | |
void | FUN_1004b840 () |
[AI] Helper routine to end all actions except the central one, handle action teardown, and trigger animation progression. More... | |
MxBool | FUN_1004b8b0 () |
[AI] Returns a boolean based on TranInfo, typically whether a specific transition flag is set. More... | |
void | FUN_1004b8c0 () |
[AI] Calls the state transition handler, forcing the presenter's tickle progression for special handling. More... | |
LegoAnimPresenter * | GetPresenter () |
[AI] Returns the main subordinate LegoAnimPresenter currently managed by this MM presenter. More... | |
![]() | |
MxCompositePresenter () | |
[AI] Default constructor; registers the composite presenter with the notification manager. More... | |
~MxCompositePresenter () override | |
[AI] Destructor, unregisters the presenter from the notification manager and properly cleans up contained presenters. More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Notifies the composite presenter of a particular event (such as end of sub-action or notification from a child presenter). More... | |
const char * | ClassName () const override |
[AI] Returns the dynamic class name; used for runtime type identification. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Runtime type checking for presenter class hierarchy, supporting parent/child class checks. More... | |
MxResult | StartAction (MxStreamController *p_controller, MxDSAction *p_action) override |
[AI] Starts a composite action by creating child presenters for each action in a MxDSMultiAction list and starting them. More... | |
void | EndAction () override |
[AI] Ends the composite action, terminating all child presenters and clearing action lists. Sends end notifications if needed. More... | |
void | SetTickleState (TickleState p_tickleState) override |
[AI] Change the tickle state of this composite presenter and propagate to each child. More... | |
MxBool | HasTickleStatePassed (TickleState p_tickleState) override |
[AI] Checks if all child presenters have advanced past the given tickle state. More... | |
void | Enable (MxBool p_enable) override |
[AI] Enables or disables this presenter and all child presenters. More... | |
virtual void | VTable0x58 (MxEndActionNotificationParam &p_param) |
[AI] Handler for "end action" notification, invoked when one of the child presenters finishes its assigned sub-action. More... | |
virtual void | VTable0x5c (MxNotificationParam &p_param) |
[AI] Handler for generic presenter notification, such as state change. More... | |
virtual void | VTable0x60 (MxPresenter *p_presenter) |
[AI] Advance sequencing for serial multi-actions: promotes the next presenter in sequence to e_ready state after predecessor finishes. More... | |
virtual MxBool | VTable0x64 (undefined4 p_undefined) |
[AI] Delegated state/mode checking. More... | |
MxCompositePresenterList * | GetList () |
[AI] Returns reference to the internal list of child presenters managed by this composite. More... | |
![]() | |
MxPresenter () | |
[AI] Constructor. Initializes internal tickle state and other members. More... | |
MxResult | Tickle () override |
[AI] Main tickle handler, called periodically to progress presenter's internal state. More... | |
virtual void | VTable0x14 () |
[AI] Reserved for future or specialized use in derived classes. More... | |
virtual void | ReadyTickle () |
[AI] Handles the transition and setup for the Ready state. Parses extra action data and advances state. More... | |
virtual void | StartingTickle () |
[AI] Handles actions required when first starting presentation. Advances to streaming state. More... | |
virtual void | StreamingTickle () |
[AI] Handles periodic updates during the streaming/presentation stage. Advances to repeating state. More... | |
virtual void | RepeatingTickle () |
[AI] Handles updates when in a repeating (looping) stage. Advances to freezing state. More... | |
virtual void | FreezingTickle () |
[AI] Handles updates during the freezing/suspended state. Advances to done state. More... | |
~MxPresenter () override | |
[AI] Destructor, cleans up resources (base class: does nothing beyond Init). More... | |
virtual MxResult | AddToManager () |
[AI] Optional registration with a manager (such as TickleManager); by default does nothing. More... | |
virtual void | Destroy () |
[AI] Resets presenter state or cleans up resources after completion/removal. More... | |
virtual MxResult | StartAction (MxStreamController *, MxDSAction *) |
[AI] Initiates presenter for a new action, setting up context and state. More... | |
virtual void | EndAction () |
[AI] Terminates the current action, notifies listeners and resets state. More... | |
virtual void | SetTickleState (TickleState p_tickleState) |
[AI] Forces the tickle state, advancing to the requested lifecycle stage. More... | |
virtual MxBool | HasTickleStatePassed (TickleState p_tickleState) |
[AI] Checks if the specified tickle state has ever been passed since last reset. More... | |
virtual MxResult | PutData () |
[AI] Allows the presenter to submit pending results or output to the engine. More... | |
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.g. More... | |
virtual void | Enable (MxBool p_enable) |
[AI] Enables or disables this presenter (controls action flags accordingly). More... | |
const char * | ClassName () const override |
[AI] Returns the run-time class name for this presenter. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Determines if this object is of (or inherits) the specified named class. More... | |
MxEntity * | CreateEntity (const char *p_defaultName) |
[AI] Creates an entity based on action 'extra' data, or uses the provided default name. More... | |
void | SendToCompositePresenter (MxOmni *p_omni) |
[AI] Notifies a composite presenter (if one exists) that this presenter wishes to join a group. More... | |
MxBool | IsEnabled () |
[AI] Returns whether this presenter is logically enabled (based on the associated action's flags). More... | |
MxS32 | GetCurrentTickleState () const |
[AI] Returns the current tickle state. More... | |
MxPoint32 | GetLocation () const |
[AI] Returns the presenter's screen location (in pixels). More... | |
MxS32 | GetX () const |
[AI] Returns the X coordinate of screen location. More... | |
MxS32 | GetY () const |
[AI] Returns the Y coordinate of screen location. More... | |
MxS32 | GetDisplayZ () const |
[AI] Returns the display Z (depth) order. More... | |
MxDSAction * | GetAction () const |
[AI] Returns the current action being presented. More... | |
void | SetAction (MxDSAction *p_action) |
[AI] Sets the action associated with this presenter. More... | |
void | SetCompositePresenter (MxCompositePresenter *p_compositePresenter) |
[AI] Sets the composite presenter to notify/join on completion. More... | |
void | SetDisplayZ (MxS32 p_displayZ) |
[AI] Sets the display Z (depth) order for the presenter. More... | |
![]() | |
MxCore () | |
[AI] Constructs a new MxCore object and assigns it a unique id. More... | |
virtual | ~MxCore () |
[AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More... | |
virtual MxLong | Notify (MxParam &p_param) |
[AI] Virtual callback notification mechanism. More... | |
virtual MxResult | Tickle () |
[AI] Called by tickle managers to allow the object to update itself. More... | |
virtual const char * | ClassName () const |
[AI] Returns the runtime class name of this object. More... | |
virtual MxBool | IsA (const char *p_name) const |
[AI] Checks whether this object's class type or parents match the given name. More... | |
MxU32 | GetId () |
[AI] Gets the unique (per-process) id assigned to this object instance. More... | |
Static Public Member Functions | |
static const char * | HandlerClassName () |
[AI] Gets the class handler name for this presenter type. More... | |
![]() | |
static const char * | HandlerClassName () |
[AI] Returns the handler class name ("MxCompositePresenter"). More... | |
![]() | |
static const char * | HandlerClassName () |
[AI] Returns the handler class name for identification and reflection purposes. More... | |
Additional Inherited Members | |
![]() | |
virtual void | DoneTickle () |
[AI] Handles any post-completion logic, resetting to idle state. More... | |
virtual void | ParseExtra () |
[AI] Parses additional data from the associated action for configuration or world interaction. More... | |
void | ProgressTickleState (TickleState p_tickleState) |
[AI] Helper for advancing the presenter's tickle state and updating transition history. More... | |
void | Init () |
[AI] Initializes object state to post-construction defaults. More... | |
![]() | |
MxCompositePresenterList | m_list |
[AI] List of owned child presenters that are managed by this MxCompositePresenter. Actions are created/shutdown with this list. More... | |
![]() | |
TickleState | m_currentTickleState |
[AI] Current state in the tickle lifecycle. More... | |
MxU32 | m_previousTickleStates |
[AI] Bitfield representing all tickle states that have already occurred during this lifetime. More... | |
MxPoint32 | m_location |
[AI] 2D display location for the presenter. More... | |
MxS32 | m_displayZ |
[AI] Z-order value for display stacking. More... | |
MxDSAction * | m_action |
[AI] The associated action currently being presented by this presenter. More... | |
MxCriticalSection | m_criticalSection |
[AI] Thread synchronization for presenter state and data. More... | |
MxCompositePresenter * | m_compositePresenter |
[AI] Owner composite presenter, if any. More... | |
[AI] Composite presenter class that manages a multi-media animation sequence.
It can coordinate several subordinate presenters, orchestrate animations, and manage presenter communications and world/ROI associations for multi-part scripted Lego animation events.
[AI] Inherits from MxCompositePresenter, allowing multiple subordinate presenters to be managed as part of a composite animation or sequence. Used for "multi-media" (MM) complex Lego animation handling, it coordinates the "tickle" progress, observers, notifications, and resource mapping.
Definition at line 23 of file legoanimmmpresenter.h.
anonymous enum |
[AI] States/steps for a staged tickle sequence through the complex animation.
Definition at line 26 of file legoanimmmpresenter.h.
LegoAnimMMPresenter::LegoAnimMMPresenter | ( | ) |
[AI] Constructs a LegoAnimMMPresenter, initializing all members.
Definition at line 26 of file legoanimmmpresenter.cpp.
|
override |
[AI] Destructor.
Cleans up world registration and supporting objects.
Definition at line 41 of file legoanimmmpresenter.cpp.
|
inlineoverridevirtual |
[AI] Returns the runtime class name.
Reimplemented from MxCore.
Definition at line 69 of file legoanimmmpresenter.h.
|
overridevirtual |
[AI] Tickle callback for the done state.
No default operation; completion logic may be customized in subclasses.
Reimplemented from MxPresenter.
Definition at line 208 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Ends the composite action, unregisters and resets relevant state.
Reimplemented from MxPresenter.
Definition at line 118 of file legoanimmmpresenter.cpp.
MxBool LegoAnimMMPresenter::FUN_1004b830 | ( | ) |
[AI] Returns true if the presenter state has reached or surpassed e_unk6.
Definition at line 470 of file legoanimmmpresenter.cpp.
void LegoAnimMMPresenter::FUN_1004b840 | ( | ) |
[AI] Helper routine to end all actions except the central one, handle action teardown, and trigger animation progression.
Definition at line 477 of file legoanimmmpresenter.cpp.
MxBool LegoAnimMMPresenter::FUN_1004b8b0 | ( | ) |
[AI] Returns a boolean based on TranInfo, typically whether a specific transition flag is set.
Definition at line 501 of file legoanimmmpresenter.cpp.
void LegoAnimMMPresenter::FUN_1004b8c0 | ( | ) |
[AI] Calls the state transition handler, forcing the presenter's tickle progression for special handling.
Definition at line 508 of file legoanimmmpresenter.cpp.
|
inline |
[AI] Returns the main subordinate LegoAnimPresenter currently managed by this MM presenter.
Definition at line 161 of file legoanimmmpresenter.h.
|
inlinestatic |
[AI] Gets the class handler name for this presenter type.
Definition at line 59 of file legoanimmmpresenter.h.
|
inlineoverridevirtual |
[AI] Returns whether this instance is of the given class or inherits from it.
[AI] Accepts either "LegoAnimMMPresenter" or any class accepted by MxCompositePresenter::IsA
p_name | Class name string to test. [AI] |
Reimplemented from MxCore.
Definition at line 80 of file legoanimmmpresenter.h.
[AI] Handles notifications for the presenter.
[AI] Reacts to end-of-action notifications and forwards others to the base composite presenter.
p_param | The notification parameter structure. [AI] |
Reimplemented from MxCore.
Definition at line 215 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Parses the "Extra" field from the current action to extract TranInfo and animation manager ID for this presenter.
[AI] Looks for "ANIMMAN_ID" in the extra and acquires TranInfo and related references.
Reimplemented from MxPresenter.
Definition at line 238 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Tickle callback for the ready state.
Prepares presenter state and transitions tickle sequence.
Reimplemented from MxPresenter.
Definition at line 144 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Tickle callback for the repeating state.
Advances towards freezing/completion once conditions are met.
Reimplemented from MxPresenter.
Definition at line 190 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Starts a composite action, creating subordinate presenters for each child action.
p_controller | Stream controller supplying data for the animation. [AI] |
p_action | The multi-action that this presenter is to execute. [AI] |
Reimplemented from MxPresenter.
Definition at line 53 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Tickle callback for the starting state.
Prepares action timing and advances to the streaming state.
Reimplemented from MxPresenter.
Definition at line 167 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] Tickle callback for the streaming state.
Drives the staged tickle progression and manages transition logic.
Reimplemented from MxPresenter.
Definition at line 181 of file legoanimmmpresenter.cpp.
|
overridevirtual |
[AI] (Internal use) Handles a state transfer/notification from a child presenter to this composite presenter.
p_presenter | Child presenter invoking this handler. [AI] |
Reimplemented from MxCompositePresenter.
Definition at line 228 of file legoanimmmpresenter.cpp.