101 memcpy(extraCopy, extraData, extraLength);
102 extraCopy[extraLength] =
'\0';
[AI] Presenter responsible for managing the lifecycle, location, and logic for a LegoEntity instance ...
MxResult StartAction(MxStreamController *p_controller, MxDSAction *p_action) override
[AI] Starts a new LegoEntity action using the provided stream controller and definition.
virtual undefined4 SetEntity(LegoEntity *p_entity)
[AI] Sets the managed LegoEntity for this presenter.
void Destroy() override
[AI] Cleans up this presenter, unregisters itself from the VideoManager, and resets its entity.
virtual void Init()
[AI] Initializes internal state for (re-)use, called from constructor and internal resets.
LegoEntity * m_entity
[AI] The entity instance managed by this presenter, typically created based on the current action.
void ParseExtra() override
[AI] Parses extra data (typically serialized commands/string) from the action and applies it to the m...
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.
void RepeatingTickle() override
[AI] Called periodically in the Repeating state to check for completion and manage progression.
~LegoEntityPresenter() override
[AI] Destructor.
void ReadyTickle() override
[AI] Called when the presenter is in the Ready state, typically responsible for instantiating and ini...
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
void SetLocation(const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up, MxBool p_und)
[AI] Sets the world-space location, direction, and up, applying normalization and transformation.
virtual MxResult Create(MxDSAction &p_dsAction)
[AI] Initializes the entity from a DSAction object, typically from a script or file load.
virtual void ParseAction(char *p_extra)
[AI] Parses an action description string (usually from script "extra" data) and sets up this entity's...
void EndAction() override
[AI] Ends the composite action, terminating all child presenters and clearing action lists....
MxCompositePresenterList m_list
[AI] List of owned child presenters that are managed by this MxCompositePresenter....
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...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
void GetExtra(MxU16 &p_extraLength, char *&p_extraData)
[AI] Retrieves the extra data and its length for this action.
const Vector3 & GetLocation()
[AI] Gets the location vector for this action (world or local space).
const Vector3 & GetUp()
[AI] Gets the up vector for this action (global or local).
const Vector3 & GetDirection()
[AI] Gets the direction vector (typically forward vector) for this action.
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
MxEntity * CreateEntity(const char *p_defaultName)
[AI] Creates an entity based on action 'extra' data, or uses the provided default name.
@ e_starting
[AI] In the process of starting playback/presentation.
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
LegoVideoManager * VideoManager()
[AI] Accessor for the game's LegoVideoManager subsystem. Used for managing 3D/video hardware....
LegoWorld * CurrentWorld()
[AI] Accessor for the currently active LegoWorld instance. [AI]