Isle
|
[AI] Entity for the Information Center building in LEGO Island. More...
#include <buildings.h>
Public Member Functions | |
const char * | ClassName () const override |
[AI] Returns the class name ("InfoCenterEntity") for runtime type identification. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Checks whether this object is of a certain class type or derives from it. More... | |
MxLong | HandleClick (LegoEventNotificationParam &p_param) override |
[AI] Handles click events specific to the Information Center building. More... | |
![]() | |
BuildingEntity () | |
[AI] Constructs a BuildingEntity and registers it for notification events. [AI] More... | |
~BuildingEntity () override | |
[AI] Destroys the BuildingEntity and unregisters it from notification events. [AI] More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Handles notification parameters sent to this entity. More... | |
const char * | ClassName () const override |
[AI] Returns the class name of this entity type ("BuildingEntity"). More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Checks if this object is of a given class or one of its superclasses. More... | |
virtual MxLong | HandleClick (LegoEventNotificationParam &p_param)=0 |
[AI] Abstract method called when this building entity receives a click notification. More... | |
![]() | |
LegoEntity () | |
[AI] Default constructor. Initializes the LegoEntity with default values. [AI] More... | |
~LegoEntity () override | |
[AI] Destructor. Cleans up resources and ensures ROI and script state are released. [AI] More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Handles event notification for the entity, most notably user clicks, using polymorphic dispatch. More... | |
const char * | ClassName () const override |
[AI] Returns the class name string. Used in entity runtime type identification. [AI] More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Polymorphic type check for this entity given a string. More... | |
virtual MxResult | Create (MxDSAction &p_dsAction) |
[AI] Initializes the entity from a DSAction object, typically from a script or file load. More... | |
virtual void | Destroy (MxBool p_fromDestructor) |
[AI] Cleans up the entity, detaching ROI and releasing references. More... | |
virtual void | ParseAction (char *p_extra) |
[AI] Parses an action description string (usually from script "extra" data) and sets up this entity's action state. More... | |
virtual void | SetROI (LegoROI *p_roi, MxBool p_bool1, MxBool p_bool2) |
[AI] Assigns a 3D ROI (3D object instance) to this entity, controlling how it appears/acts in the world. More... | |
virtual void | SetWorldTransform (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up) |
[AI] Explicitly sets the world transformation (location, direction, up vector) for this entity. More... | |
virtual void | ResetWorldTransform (MxBool p_cameraFlag) |
[AI] Resets the transformation for this entity (e.g., used with camera transitions). More... | |
virtual void | SetWorldSpeed (MxFloat p_worldSpeed) |
[AI] Sets the current world speed value for this entity (used to control motion/animation rate). More... | |
virtual void | ClickSound (MxBool p_und) |
[AI] Plays a click sound, typically in response to user/AI actions, according to entity type. More... | |
virtual void | ClickAnimation () |
[AI] Plays a context-sensitive click animation, driven by current entity type and state. [AI] More... | |
virtual void | SwitchVariant () |
[AI] Switches variants for this entity (e.g., different animation, mesh, or texture variant), based on type. [AI] More... | |
virtual void | SwitchSound () |
[AI] Triggers a context-dependent audio/sound variant switch for this entity. [AI] More... | |
virtual void | SwitchMove () |
[AI] Switches movement/animation variant for this entity, if applicable (e.g., walking/running state). [AI] More... | |
virtual void | SwitchColor (LegoROI *p_roi) |
[AI] Switches the color or texture variant for this entity (or target ROI). More... | |
virtual void | SwitchMood () |
[AI] Triggers a mood/state switch for this entity (if supported), often for characters. [AI] More... | |
void | FUN_10010c30 () |
[AI] Updates the camera transformation when this entity is the camera target. Used after movement or position updates. [AI] More... | |
void | SetType (MxU8 p_type) |
[AI] Sets the entity's type (actor/plant/building/etc.) [AI] More... | |
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. More... | |
Mx3DPointFloat | GetWorldDirection () |
[AI] Gets the normalized world-space direction vector, optionally updating from ROI. [AI] More... | |
Mx3DPointFloat | GetWorldUp () |
[AI] Gets the normalized world-space up vector, optionally updating from ROI. [AI] More... | |
Mx3DPointFloat | GetWorldPosition () |
[AI] Gets the world-space position vector, optionally updating from ROI. [AI] More... | |
MxBool | GetUnknown0x10IsSet (MxU8 p_flag) |
[AI] Checks if a bit flag in m_unk0x10 is set (purpose: state/animation suppression lock). More... | |
MxBool | GetFlagsIsSet (MxU8 p_flag) |
[AI] Checks if a flag is set in the primary flags byte (m_flags). More... | |
MxU8 | GetFlags () |
[AI] Returns the value of the flag byte. [AI] More... | |
MxFloat | GetWorldSpeed () |
[AI] Gets the entity's current world speed state. [AI] More... | |
LegoROI * | GetROI () |
[AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI] More... | |
MxU8 | GetType () |
[AI] Gets the type of this entity (one of the enum Type values). [AI] More... | |
MxBool | GetCameraFlag () |
[AI] Returns whether this entity is flagged as camera (affects world/camera synchronization). [AI] More... | |
void | SetFlags (MxU8 p_flags) |
[AI] Sets all entity flags at once (replaces previous). More... | |
void | SetFlag (MxU8 p_flag) |
[AI] Sets the given flag in the flags byte. More... | |
void | ClearFlag (MxU8 p_flag) |
[AI] Clears the given flag in the flags byte. More... | |
void | SetUnknown0x10Flag (MxU8 p_flag) |
[AI] Sets the given bit in the unknown (usually internal action suppression) flag byte. More... | |
void | ClearUnknown0x10Flag (MxU8 p_flag) |
[AI] Clears the given bit in the unknown flag byte. More... | |
![]() | |
MxEntity () | |
Default constructor. More... | |
~MxEntity () override | |
Virtual destructor for MxEntity. More... | |
const char * | ClassName () const override |
Returns the class name for type introspection. More... | |
MxBool | IsA (const char *p_name) const override |
Checks if the object is of the given class name or a parent type. More... | |
virtual MxResult | Create (MxS32 p_entityId, const MxAtomId &p_atomId) |
Initializes the entity from a given entity ID and AtomId. More... | |
MxResult | Create (MxDSAction &p_dsAction) |
Initializes the entity from a MxDSAction object. More... | |
MxS32 | GetEntityId () |
Returns the current entity ID. More... | |
MxAtomId & | GetAtomId () |
Returns a reference to the entity AtomId. More... | |
void | SetEntityId (MxS32 p_entityId) |
Sets the entity ID to the given value. More... | |
void | SetAtomId (const MxAtomId &p_atomId) |
Sets the AtomId to the given value. 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... | |
Additional Inherited Members | |
![]() | |
enum | Type { e_actor = 0 , e_unk1 , e_plant , e_building , e_autoROI } |
[AI] Types of LegoEntity (Actor, Plant, Building, Auto ROI, etc.) [AI] More... | |
enum | { c_bit1 = 0x01 , c_managerOwned = 0x02 } |
[AI] Bit flag constants for entity state management [AI] More... | |
enum | { c_altBit1 = 0x01 } |
[AI] Secondary bit flag constants [AI] More... | |
![]() | |
void | Init () |
[AI] Initializes the entity's members to default/neutral values (utility for constructors and resets). [AI] More... | |
void | SetWorld () |
[AI] Registers/attaches this entity to the current world if not already; called on create or location change. [AI] More... | |
![]() | |
MxU8 | m_unk0x10 |
[AI] Unknown state/flag, used mainly to guard against repeated actions or manage animation/sound state. [AI] More... | |
MxU8 | m_flags |
[AI] Primary entity flags (bitfield); tracks per-entity management status, internal update locks, etc. [AI] More... | |
Mx3DPointFloat | m_worldLocation |
[AI] Entity location in world coordinates. [AI] More... | |
Mx3DPointFloat | m_worldDirection |
[AI] Entity direction vector in world space (normalized). [AI] More... | |
Mx3DPointFloat | m_worldUp |
[AI] Entity up vector in world space (normalized). [AI] More... | |
MxFloat | m_worldSpeed |
[AI] World-relative speed (can affect animation/movement logic). [AI] More... | |
LegoROI * | m_roi |
[AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI] More... | |
MxBool | m_cameraFlag |
[AI] Set to TRUE if this entity is currently the camera target. [AI] More... | |
MxU8 | m_type |
[AI] The entity type (Type enum value). [AI] More... | |
Extra::ActionType | m_actionType |
[AI] Action type, parsed from script/extra string (e.g., openram/run/exit); guides Notify() and click logic. [AI] More... | |
char * | m_siFile |
[AI] When parsing ACTION command, this is the SI script/filename to execute (owned, heap-allocated). [AI] More... | |
MxS32 | m_targetEntityId |
[AI] When parsing ACTION command, this is the target entity ID for the action (or -1 for none). [AI] More... | |
![]() | |
MxS32 | m_entityId |
The unique entity ID, typically used for lookup and reference. More... | |
MxAtomId | m_atomId |
The AtomId associated with this entity, used for resource and script identification. More... | |
[AI] Entity for the Information Center building in LEGO Island.
[AI] The InfoCenterEntity class represents the interactive entity for the Information Center building on LEGO Island. It provides specific interaction logic for the Info Center context by overriding the HandleClick method. Serves as a specialization of BuildingEntity, adding Info Center-specific behaviors for player input.
Definition at line 12 of file buildings.h.
|
inlineoverridevirtual |
[AI] Returns the class name ("InfoCenterEntity") for runtime type identification.
[AI] Used for checking type at runtime or for serialization/inspection logic.
Reimplemented from BuildingEntity.
Definition at line 16 of file buildings.h.
|
overridevirtual |
[AI] Handles click events specific to the Information Center building.
[AI] Triggers context-dependent actions and cutscenes when the Info Center is clicked, depending on the current game state/act. Transitions the player to the information main area.
p_param | Event notification parameter, includes information about the click event and context. [AI] |
Implements BuildingEntity.
Definition at line 43 of file buildings.cpp.
|
inlineoverridevirtual |
[AI] Checks whether this object is of a certain class type or derives from it.
[AI] Compares the provided name with this class and all its parent classes for "is-a" relationships.
p_name | Class name string to compare. [AI] |
Reimplemented from BuildingEntity.
Definition at line 25 of file buildings.h.