109 void Animate(
float p_time)
override;
126 void Exit()
override;
Holds state and scoring information for the Ambulance mission.
MxResult Serialize(LegoStorage *p_storage) override
[AI] Serializes (loads or saves) the mission state information for the Ambulance mission.
MxBool IsA(const char *p_name) const override
[AI] Runtime type check for class identity or inheritance.
void UpdateScore(ScoreColor p_score, MxS16 p_actorId)
[AI] Updates the current and high score for a specific actor, if the new score is higher.
MxS16 m_peScore
[AI] Last achieved mission score for Pepper. [AI]
MxLong m_startTime
[AI] Mission timer: records when the mission started (in milliseconds?). [AI]
MxS16 m_laScore
[AI] Last achieved mission score for Laura. [AI]
MxS16 GetHighScore(MxU8 p_actorId)
[AI] Retrieves the highest score achieved by a specified actor.
MxS16 m_niHighScore
[AI] Highest ever mission score for Nick. [AI]
MxS16 m_paHighScore
[AI] Highest ever mission score for Papa. [AI]
const char * ClassName() const override
[AI] Returns the class name string.
MxS16 m_laHighScore
[AI] Highest ever mission score for Laura. [AI]
MxS16 m_maScore
[AI] Last achieved mission score for Mama. [AI]
MxS16 m_paScore
[AI] Last achieved mission score for Papa. [AI]
MxS16 m_maHighScore
[AI] Highest ever mission score for Mama. [AI]
AmbulanceMissionState()
[AI] Default constructor; initializes all scores, high scores, time and internal state to zero....
MxS16 m_niScore
[AI] Last achieved mission score for Nick. [AI]
undefined4 m_unk0x08
[AI] Flag/state variable—purpose unclear, likely denotes mission sub-state or phase....
MxS16 m_peHighScore
[AI] Highest ever mission score for Pepper. [AI]
Main game logic and control entity for the Ambulance gameplay activity.
MxBool IsA(const char *p_name) const override
[AI] Checks whether this object is of type "Ambulance" or inherits from a type with the given name.
virtual MxLong HandleButtonDown(LegoControlManagerNotificationParam &p_param)
[AI] Handles button down events in the mission interface (e.g., gate click).
const char * ClassName() const override
[AI] Returns the class name "Ambulance" for RTTI. [AI]
virtual MxLong HandleEndAction(MxEndActionNotificationParam &p_param)
[AI] Handles end action notifications (e.g., animation completion), progresses mission or triggers fe...
MxLong Notify(MxParam &p_param) override
[AI] Handles notifications from the system (events, actions, button presses, etc.).
void CreateState()
[AI] Ensures AmbulanceMissionState is present in the game state manager; creates if missing....
void FUN_10037250()
[AI] Resets game- and mission-related state after the mission; restores music, resets state objects,...
MxLong HandleClick() override
[AI] Handles a "click" on this Ambulance actor (starts mission, triggers transitions,...
Ambulance()
[AI] Creates and initializes the ambulance actor; sets default velocities and initial mission state....
void ActivateSceneActions()
[AI] Handles the enabling of in-game ambient/scene actions when player enters the hospital scene....
void FUN_10036e60()
[AI] Marks mission as failed/successful, triggers cutscene/animation for mission outcome....
~Ambulance() override
[AI] Destructor—unregisters the Ambulance from control and tickle managers and performs cleanup....
void Animate(float p_time) override
[AI] Per-frame update for position, fuel, and any animation logic.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates this Ambulance object based on the provided DS action (from scripts/etc).
void Exit() override
[AI] Exits the mission; triggers cleanup, world removal, and area/state updates. [AI]
MxResult Tickle() override
[AI] Called on each game "tick" to update state, handle random sounds, etc.
void Destroy(MxBool p_fromDestructor) override
[AI] Does nothing for Ambulance; stub for virtual destroy.
MxLong HandleControl(LegoControlManagerNotificationParam &p_param) override
[AI] Responds to control (UI/keyboard/joystick) input events.
MxLong HandlePathStruct(LegoPathStructNotificationParam &p_param) override
[AI] Handles notifications related to path structure triggers such as mission segments or locations.
void StopActions()
[AI] Stops currently running scripted actions/animations associated with the Ambulance mission....
Derived path actor type for handling player transitions and activities on LEGO Island.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
ScoreColor
[AI] Score coloring values for in-game display feedback or logic.
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...