Isle
Loading...
Searching...
No Matches
legoentitypresenter.h
Go to the documentation of this file.
1#ifndef LEGOENTITYPRESENTER_H
2#define LEGOENTITYPRESENTER_H
3
5
6class LegoEntity;
7class Vector3;
8
9// VTABLE: LEGO1 0x100d8398
10// SIZE 0x50
16public:
21
25 ~LegoEntityPresenter() override; // vtable+0x00
26
31 static const char* HandlerClassName();
32
37 const char* ClassName() const override; // vtable+0x0c
38
44 MxBool IsA(const char* p_name) const override; // vtable+0x10
45
50 void ReadyTickle() override; // vtable+0x18
51
56 void RepeatingTickle() override; // vtable+0x24
57
62 void ParseExtra() override; // vtable+0x30
63
68 void Destroy() override; // vtable+0x38
69
76 MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
77
81 virtual void Init(); // vtable+0x68
82
88 virtual undefined4 SetEntity(LegoEntity* p_entity); // vtable+0x6c
89
96 void SetEntityLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up);
97
103
108 void SetInternalEntity(LegoEntity* p_entity) { m_entity = p_entity; }
109
110 // SYNTHETIC: LEGO1 0x100535a0
111 // LegoEntityPresenter::`scalar deleting destructor'
112
113private:
118 void Destroy(MxBool p_fromDestructor);
119
120protected:
125};
126
127#endif // LEGOENTITYPRESENTER_H
[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.
static const char * HandlerClassName()
[AI] Returns the class handler name string for this presenter type.
MxBool IsA(const char *p_name) const override
[AI] Tests this object or its parents for a class name match.
void SetInternalEntity(LegoEntity *p_entity)
[AI] Directly sets the internal LegoEntity pointer without instantiating or taking ownership.
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...
LegoEntityPresenter()
[AI] Constructs a new LegoEntityPresenter, initializing internal data.
const char * ClassName() const override
[AI] Returns the class name for dynamic type checks.
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.
LegoEntity * GetInternalEntity()
[AI] Returns the currently managed internal LegoEntity.
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.
Definition: legoentity.h:16
[AI] Composite presenter that manages a collection of child presenters, orchestrating their actions a...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[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.
Definition: vector.h:249
unsigned int undefined4
Definition: decomp.h:28
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106