Isle
Loading...
Searching...
No Matches
legomodelpresenter.h
Go to the documentation of this file.
1#ifndef LEGOMODELPRESENTER_H
2#define LEGOMODELPRESENTER_H
3
4#include "mxvideopresenter.h"
5
6class LegoROI;
7class LegoWorld;
8class LegoEntity;
9class MxDSChunk;
10
19public:
22
25
27 void Destroy() override { Destroy(FALSE); } // vtable+0x38 [AI]
28
31 static void configureLegoModelPresenter(MxS32 p_modelPresenterConfig);
32
34 static const char* HandlerClassName()
35 {
36 // STRING: LEGO1 0x100f067c
37 return "LegoModelPresenter";
38 }
39
41 const char* ClassName() const override // vtable+0x0c [AI]
42 {
43 return HandlerClassName();
44 }
45
49 MxBool IsA(const char* p_name) const override // vtable+0x10 [AI]
50 {
51 return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name);
52 }
53
55 void ReadyTickle() override; // vtable+0x18 [AI]
56
58 void ParseExtra() override; // vtable+0x30 [AI]
59
66 MxResult FUN_1007ff70(MxDSChunk& p_chunk, LegoEntity* p_entity, MxBool p_roiVisible, LegoWorld* p_world);
67
69 void Reset()
70 {
71 m_roi = NULL;
72 m_addedToView = FALSE;
73 }
74
75 // SYNTHETIC: LEGO1 0x1000cdd0
76 // LegoModelPresenter::`scalar deleting destructor'
77 // [AI] This is a compiler-synthesized destructor, no need to document.
78
79protected:
82 void Destroy(MxBool p_fromDestructor);
83
84private:
85 LegoROI* m_roi;
86 MxBool m_addedToView;
87
91 MxResult CreateROI(MxDSChunk* p_chunk);
92};
93
94#endif // LEGOMODELPRESENTER_H
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
Definition: legoentity.h:16
[AI] Presenter class for managing 3D model (ROI) presentation and their relationship with entities in...
static const char * HandlerClassName()
[AI] Returns the handler class name string. Used for class identification/disambiguation....
static void configureLegoModelPresenter(MxS32 p_modelPresenterConfig)
[AI] Configures the LegoModelPresenter's handling of textures/model data.
MxResult FUN_1007ff70(MxDSChunk &p_chunk, LegoEntity *p_entity, MxBool p_roiVisible, LegoWorld *p_world)
[AI] Loads or associates an ROI for presentation from a chunk, linking it to a LegoEntity or LegoWorl...
LegoModelPresenter()
[AI] Default constructor, initializes member variables to default.
MxBool IsA(const char *p_name) const override
[AI] Checks if this object matches a given class name (checks own and base class).
~LegoModelPresenter() override
[AI] Destructor. Cleans up allocated resources. Calls Destroy with TRUE.
void ReadyTickle() override
[AI] Handles the tickle state when moving into the Ready state. If necessary, creates or assigns an R...
void Destroy() override
[AI] Destroys all resources and resets state. Calls base class destroy if not from destructor.
void Reset()
[AI] Resets member variables to initial state. [AI]
void ParseExtra() override
[AI] Parses and applies extra data from the action, for example to auto-create or DB-create an ROI ba...
const char * ClassName() const override
[AI] Returns the class name of this presenter. Used for run-time class checks. [AI]
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
Definition: legoroi.h:43
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
Definition: legoworld.h:49
[AI] Represents a chunk of data extracted from a stream (typically from a Mindscape/Mx SI file or str...
Definition: mxdschunk.h:38
Derived video presenter responsible for displaying video frames using DirectDraw surfaces.
MxBool IsA(const char *p_name) const override
Determines if this object is or derives from a class with the given name.
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
#define FALSE
Definition: d3drmdef.h:27
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
signed int MxS32
[AI]
Definition: mxtypes.h:38