Isle
|
[AI] Handles presentation logic specific to LegoActor entities, such as their instantiation, animation tickling, state-managed updates, and parsing script-based actions. More...
#include <legoactorpresenter.h>
Public Member Functions | |
~LegoActorPresenter () override | |
[AI] Destructor for LegoActorPresenter. More... | |
const char * | ClassName () const override |
[AI] Returns the class name used for IsA run-time checks. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Checks if this object inherits from or matches the given class name. More... | |
void | ReadyTickle () override |
[AI] Implements the "ready" tickle state for setting up the LegoActor entity. More... | |
void | StartingTickle () override |
[AI] Implements the "starting" tickle state, finalizing initialization and transitioning to streaming. More... | |
void | ParseExtra () override |
[AI] Parses extra script data attached to the action, passing it to the entity for command execution. More... | |
![]() | |
LegoEntityPresenter () | |
[AI] Constructs a new LegoEntityPresenter, initializing internal data. More... | |
~LegoEntityPresenter () override | |
[AI] Destructor. More... | |
const char * | ClassName () const override |
[AI] Returns the class name for dynamic type checks. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Tests this object or its parents for a class name match. More... | |
void | ReadyTickle () override |
[AI] Called when the presenter is in the Ready state, typically responsible for instantiating and initializing the LegoEntity based on the current action. More... | |
void | RepeatingTickle () override |
[AI] Called periodically in the Repeating state to check for completion and manage progression. More... | |
void | ParseExtra () override |
[AI] Parses extra data (typically serialized commands/string) from the action and applies it to the managed entity. More... | |
void | Destroy () override |
[AI] Cleans up this presenter, unregisters itself from the VideoManager, and resets its entity. More... | |
MxResult | StartAction (MxStreamController *p_controller, MxDSAction *p_action) override |
[AI] Starts a new LegoEntity action using the provided stream controller and definition. More... | |
virtual void | Init () |
[AI] Initializes internal state for (re-)use, called from constructor and internal resets. More... | |
virtual undefined4 | SetEntity (LegoEntity *p_entity) |
[AI] Sets the managed LegoEntity for this presenter. More... | |
void | SetEntityLocation (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up) |
[AI] Sets the entity's world transformation using location, direction, and up vectors. More... | |
LegoEntity * | GetInternalEntity () |
[AI] Returns the currently managed internal LegoEntity. More... | |
void | SetInternalEntity (LegoEntity *p_entity) |
[AI] Directly sets the internal LegoEntity pointer without instantiating or taking ownership. 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] Returns the run-time handler class name for this presenter type. More... | |
![]() | |
static const char * | HandlerClassName () |
[AI] Returns the class handler name string 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 | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
LegoEntity * | m_entity |
[AI] The entity instance managed by this presenter, typically created based on the current action. 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] Handles presentation logic specific to LegoActor entities, such as their instantiation, animation tickling, state-managed updates, and parsing script-based actions.
[AI] This presenter creates LegoActor entity instances based on the currently bound action, sets their position and orientation, drives their state machine (ready/starting/streaming/etc.), and parses extra actor command strings on activation. The tickle pattern enables frame-based control over entity state initialization and execution.
Definition at line 12 of file legoactorpresenter.h.
|
inlineoverride |
[AI] Destructor for LegoActorPresenter.
[AI] Ensures proper destruction of derived presenter resources; no special cleanup required at this level beyond base cleanup.
Definition at line 20 of file legoactorpresenter.h.
|
inlineoverridevirtual |
[AI] Returns the class name used for IsA run-time checks.
[AI] Required for reflection and safe downcasting in the scripting and presenter system.
Reimplemented from MxCore.
Definition at line 38 of file legoactorpresenter.h.
|
inlinestatic |
[AI] Returns the run-time handler class name for this presenter type.
[AI] Used for run-time type dispatch and for "PresenterNameDispatch"-style factory methods.
Definition at line 27 of file legoactorpresenter.h.
|
inlineoverridevirtual |
[AI] Checks if this object inherits from or matches the given class name.
p_name | Name to test for inheritance or equivalence. [AI] |
[AI] Supports safe RTTI-style checks (ClassName or base).
TRUE | if the class name matches (directly or via base), FALSE otherwise. [AI] |
Reimplemented from MxCore.
Definition at line 49 of file legoactorpresenter.h.
|
overridevirtual |
[AI] Parses extra script data attached to the action, passing it to the entity for command execution.
[AI] Used to read script commands like movement, sound, or mood triggered at actor instantiation time.
Reimplemented from MxPresenter.
Definition at line 31 of file legoactorpresenter.cpp.
|
overridevirtual |
[AI] Implements the "ready" tickle state for setting up the LegoActor entity.
[AI] Responsible for creating the LegoActor instance, initializing its position, and forwarding state to "starting".
Reimplemented from MxPresenter.
Definition at line 9 of file legoactorpresenter.cpp.
|
overridevirtual |
[AI] Implements the "starting" tickle state, finalizing initialization and transitioning to streaming.
[AI] Waits until the actor's ROI (real object instance) is valid, then parses any extra action commands and advances the tickle state.
Reimplemented from MxPresenter.
Definition at line 22 of file legoactorpresenter.cpp.