Isle
Loading...
Searching...
No Matches
MxCore Class Reference

[AI] Base virtual class for all Mindscape engine (Mx) objects. More...

#include <mxcore.h>

Inherited by MxCollection< LegoCacheSound * >, MxCollection< LegoEntity * >, MxCollection< LegoEventNotificationParam >, MxCollection< LegoLOD * >, MxCollection< LegoNamedPart * >, MxCollection< LegoNamedTexture * >, MxCollection< MxCore * >, MxCollection< LegoPathController * >, MxCollection< LegoPhoneme * >, MxCollection< LegoROI * >, MxCollection< LegoROI ** >, MxCollection< LegoTranInfo * >, MxCollection< LegoWorld * >, MxCollection< ModelDbPart * >, MxCollection< MxDSAction * >, MxCollection< MxPoint16 * >, MxCollection< MxPoint32 * >, MxCollection< MxPresenter * >, MxCollection< T * >, MxCollection< MxRect16 * >, MxCollection< MxRect32 * >, MxCollection< MxSegment * >, MxCollection< MxSize16 * >, MxCollection< MxSize32 * >, MxCollection< MxSpan * >, MxCollection< MxStreamChunk * >, MxCollection< MxString >, MxCollection< MxVariable * >, MxListCursor< LegoCacheSound * >, MxListCursor< LegoEntity * >, MxListCursor< LegoLOD * >, MxListCursor< LegoNamedPart * >, MxListCursor< LegoNamedTexture * >, MxListCursor< MxCore * >, MxListCursor< LegoPathController * >, MxListCursor< LegoPhoneme * >, MxListCursor< LegoROI * >, MxListCursor< LegoTranInfo * >, MxListCursor< LegoWorld * >, MxListCursor< ModelDbPart * >, MxListCursor< MxDSAction * >, MxListCursor< MxPoint16 * >, MxListCursor< MxPoint32 * >, MxListCursor< MxPresenter * >, MxListCursor< T * >, MxListCursor< MxRect16 * >, MxListCursor< MxRect32 * >, MxListCursor< MxSegment * >, MxListCursor< MxSize16 * >, MxListCursor< MxSize32 * >, MxListCursor< MxSpan * >, MxListCursor< MxStreamChunk * >, MxListCursor< MxString >, LegoAnimationManager, LegoBuildingManager, LegoCacheSound, LegoControlManager, LegoMouseController, LegoNavController, LegoPathController, LegoPlantManager, LegoState, MxBackgroundAudioManager, MxBitmap, MxCollection< T >, MxDSBuffer, MxDSChunk, MxDSObject, MxDSSource, MxDSSubscriber, MxDisplaySurface, MxEntity, MxHashTableCursor< T >, MxListCursor< T >, MxMediaManager, MxNextActionDataStart, MxNotificationManager, MxObjectFactory, MxOmni, MxPalette, MxPresenter, MxRegion, MxRegionCursor, MxStreamController, MxStreamProvider, MxStreamer, MxString, MxTickleManager, MxTimer, MxTransitionManager, and Radio.

Public Member Functions

 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...
 

Detailed Description

[AI] Base virtual class for all Mindscape engine (Mx) objects.

Implements the identity and tickle mechanism for core objects.

[AI] This is the root of the Mx object hierarchy. It defines a set of core virtual methods, provides an identity (unique id per-instance), and virtual mechanisms for tickle/updating and runtime class information. All objects in the Mindscape system ultimately inherit from this class. \size 0x08 [AI]

Definition at line 15 of file mxcore.h.

Constructor & Destructor Documentation

◆ MxCore()

MxCore::MxCore ( )

[AI] Constructs a new MxCore object and assigns it a unique id.

Definition at line 11 of file mxcore.cpp.

◆ ~MxCore()

MxCore::~MxCore ( )
virtual

[AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes.

Definition at line 19 of file mxcore.cpp.

Member Function Documentation

◆ ClassName()

virtual const char * MxCore::ClassName ( ) const
inlinevirtual

[AI] Returns the runtime class name of this object.

[AI] Used for RTTI and dynamic class checking instead of C++ RTTI.

Returns
[AI] "MxCore" string literal.

Reimplemented in Act2Brick, Act2PoliceStation, Act3State, Act3, Act3Shark, Act3Actor, AmbulanceMissionState, Ambulance, Bike, BuildingEntity, InfoCenterEntity, GasStationEntity, HospitalEntity, PoliceEntity, BeachHouseEntity, BumpBouy, CarRaceState, CarRace, Doors, DuneBuggy, ElevatorBottom, GasStationState, GasStation, HelicopterState, Helicopter, HistoryBook, HospitalState, Hospital, InfocenterState, Infocenter, InfocenterDoor, Act1State, Isle, IsleActor, IslePathActor, Jetski, JetskiRace, JetskiRaceState, JukeBoxState, JukeBox, JukeBoxEntity, Lego3DWavePresenter, LegoAct2State, LegoActionControlPresenter, LegoActor, LegoActorPresenter, LegoAnimActor, AnimState, LegoAnimationManager, LegoAnimMMPresenter, LegoAnimPresenter, LegoBuildingManager, LegoCacheSound, LegoCameraController, LegoVehicleBuildState, LegoCarBuild, LegoCarBuildAnimPresenter, LegoControlManager, LegoEntity, LegoEntityPresenter, LegoExtraActor, LegoFlcTexturePresenter, LegoHideAnimPresenter, LegoLoadCacheSoundPresenter, LegoLocomotionAnimPresenter, LegoLoopingAnimPresenter, LegoOmni, LegoModelPresenter, LegoNavController, LegoPalettePresenter, LegoPartPresenter, LegoPathActor, LegoPathController, LegoPathPresenter, LegoPhonemePresenter, LegoPlantManager, RaceState, LegoRace, LegoRaceActor, LegoJetski, LegoRaceCar, LegoCarRaceActor, LegoJetskiRaceActor, LegoState, LegoTexturePresenter, LegoWorld, LegoWorldPresenter, Motocycle, MxBackgroundAudioManager, MxCompositeMediaPresenter, MxControlPresenter, MxTransitionManager, PizzaMissionState, Pizza, PizzeriaState, Pizzeria, PoliceState, Police, RaceCar, RadioState, Radio, RegistrationBook, ScoreState, Score, SkateBoard, TowTrackMissionState, TowTrack, MxAudioPresenter, MxCompositePresenter, MxDiskStreamController, MxDiskStreamProvider, MxDSAction, MxDSAnim, MxDSBuffer, MxDSChunk, MxDSEvent, MxDSFile, MxDSMediaAction, MxDSMultiAction, MxDSObject, MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, MxDSSource, MxDSStill, MxDSSubscriber, MxEntity, MxEventPresenter, MxFlcPresenter, MxLoopingFlcPresenter, MxLoopingMIDIPresenter, MxLoopingSmkPresenter, MxMediaPresenter, MxMIDIPresenter, MxMusicPresenter, MxNextActionDataStart, MxObjectFactory, MxPresenter, MxRAMStreamController, MxRAMStreamProvider, MxSmkPresenter, MxSoundPresenter, MxStillPresenter, MxStreamChunk, MxStreamController, MxStreamer, MxStreamProvider, MxVideoPresenter, and MxWavePresenter.

Definition at line 36 of file mxcore.h.

◆ GetId()

MxU32 MxCore::GetId ( )
inline

[AI] Gets the unique (per-process) id assigned to this object instance.

Definition at line 52 of file mxcore.h.

◆ IsA()

virtual MxBool MxCore::IsA ( const char *  p_name) const
inlinevirtual

[AI] Checks whether this object's class type or parents match the given name.

[AI] Used for dynamic class checking. The default implementation returns true if the name matches the class name exactly. Derived classes override and chain for true IsA hierarchy.

Parameters
p_name[AI] Class name to check against.
Returns
[AI] True if p_name equals this object's class name.

Reimplemented in Act2Brick, Act2PoliceStation, Act3State, Act3, AmbulanceMissionState, Ambulance, Bike, BuildingEntity, InfoCenterEntity, GasStationEntity, HospitalEntity, PoliceEntity, BeachHouseEntity, BumpBouy, CarRaceState, CarRace, Doors, DuneBuggy, ElevatorBottom, GasStationState, GasStation, HelicopterState, Helicopter, HistoryBook, HospitalState, Hospital, InfocenterState, Infocenter, InfocenterDoor, Act1State, Isle, IsleActor, IslePathActor, Jetski, JetskiRace, JetskiRaceState, JukeBoxState, JukeBox, JukeBoxEntity, Lego3DWavePresenter, LegoAct2State, LegoActionControlPresenter, LegoActor, LegoActorPresenter, LegoAnimActor, AnimState, LegoAnimationManager, LegoAnimMMPresenter, LegoAnimPresenter, LegoCacheSound, LegoCameraController, LegoVehicleBuildState, LegoCarBuild, LegoCarBuildAnimPresenter, LegoControlManager, LegoEntity, LegoEntityPresenter, LegoExtraActor, LegoHideAnimPresenter, LegoLocomotionAnimPresenter, LegoLoopingAnimPresenter, LegoOmni, LegoModelPresenter, LegoNavController, LegoPalettePresenter, LegoPartPresenter, LegoPathActor, LegoPathController, LegoPathPresenter, RaceState, LegoRace, LegoRaceActor, LegoJetski, LegoRaceCar, LegoCarRaceActor, LegoJetskiRaceActor, LegoState, LegoTexturePresenter, LegoWorld, LegoWorldPresenter, Motocycle, MxBackgroundAudioManager, MxCompositeMediaPresenter, MxControlPresenter, MxTransitionManager, PizzaMissionState, Pizza, PizzeriaState, Pizzeria, PoliceState, Police, RaceCar, RadioState, Radio, RegistrationBook, ScoreState, Score, SkateBoard, TowTrackMissionState, TowTrack, MxAudioPresenter, MxCompositePresenter, MxDiskStreamController, MxDiskStreamProvider, MxDSAction, MxDSAnim, MxDSChunk, MxDSEvent, MxDSFile, MxDSMediaAction, MxDSMultiAction, MxDSObject, MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, MxDSSource, MxDSStill, MxDSSubscriber, MxEntity, MxEventPresenter, MxFlcPresenter, MxLoopingMIDIPresenter, MxMediaPresenter, MxMIDIPresenter, MxMusicPresenter, MxNextActionDataStart, MxObjectFactory, MxPresenter, MxRAMStreamController, MxRAMStreamProvider, MxSmkPresenter, MxSoundPresenter, MxStillPresenter, MxStreamChunk, MxStreamController, MxStreamer, MxStreamProvider, MxVideoPresenter, and MxWavePresenter.

Definition at line 46 of file mxcore.h.

◆ Notify()

MxLong MxCore::Notify ( MxParam p_param)
virtual

[AI] Virtual callback notification mechanism.

[AI] Designed to be overridden in derived classes to handle notifications/events. The base implementation asserts and does nothing.

Parameters
p_param[AI] Notification-specific parameter object (see child implementations for semantics).

Reimplemented in Act2Brick, Act2PoliceStation, Act3, Ambulance, BuildingEntity, BumpBouy, ElevatorBottom, GasStation, HistoryBook, Hospital, Infocenter, InfocenterDoor, Isle, IsleActor, IslePathActor, JukeBox, JukeBoxEntity, LegoAct2, LegoAnimationManager, LegoAnimMMPresenter, LegoCameraController, LegoCarBuild, LegoEntity, LegoOmni, LegoNavController, LegoRace, LegoRaceMap, LegoJetski, LegoRaceCar, LegoWorld, MxBackgroundAudioManager, Police, Radio, RegistrationBook, Score, TowTrack, MxCompositePresenter, MxOmni, and MxStreamer.

Definition at line 25 of file mxcore.cpp.

◆ Tickle()

virtual MxResult MxCore::Tickle ( )
inlinevirtual

[AI] Called by tickle managers to allow the object to update itself.

[AI] Override in derived classes for time-sliced processing ("tickling"). Used extensively by game logic and resource management systems.

Returns
[AI] Returns SUCCESS in the base class.

Reimplemented in Act2Brick, Act3, Ambulance, GasStation, Hospital, Infocenter, JukeBox, LegoAct2, LegoAnimationManager, LegoBuildingManager, LegoCarBuild, LegoControlManager, LegoInputManager, LegoPathController, LegoPlantManager, LegoPointOfViewController, LegoSoundManager, LegoVideoManager, LegoWorld, MxBackgroundAudioManager, MxCompositeMediaPresenter, MxTransitionManager, Pizza, RegistrationBook, MxDiskStreamController, MxMediaManager, MxMediaPresenter, MxNotificationManager, MxPresenter, MxTickleManager, and MxVideoManager.

Definition at line 31 of file mxcore.h.


The documentation for this class was generated from the following files: