[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
MxBool IsA(const char *p_name) const override
[AI] Tests if this object is of a given class name, directly or through inheritance.
[AI] Atomized (unique) string identifier, managed by reference counting.
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[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...
[AI] Handles and stores state for the in-game radio, including track playlists, cycling,...
MxBool FUN_1002d0c0(const MxAtomId &p_atom, MxU32 p_objectId)
[AI] Checks if the given atom/object ID matches one of the radio's playlists.
undefined4 FUN_1002d090()
[AI] Cycles to the next playlist and returns the next object ID to play.
MxBool IsA(const char *p_name) const override
[AI] Checks if the given type name matches this class or any parent class.
MxS16 m_unk0x2c
[AI] Index for cycling among the three playlists (0-2).
MxBool IsSerializable() override
[AI] Radio state is not serializable, i.e., not written to save files.
MxBool m_active
[AI] If TRUE, the radio is playing; FALSE otherwise.
const char * ClassName() const override
[AI] Returns the runtime class name for RadioState.
MxBool IsActive()
[AI] Indicates whether the radio is currently playing.
Playlist m_unk0x08[3]
[AI] Radio playlists. Each is a collection of track IDs used by the radio (effects,...
RadioState()
[AI] Constructs a new RadioState, randomizing playlist indices and initial state.
void SetActive(MxBool p_active)
[AI] Sets active status of the radio.
[AI] High-level manager for the in-game radio, handling notifications, playing/stopping,...
void Play()
[AI] Starts playing radio music if it is not already active.
void Stop()
[AI] Stops radio playback if currently active and updates audio state.
MxBool IsA(const char *p_name) const override
[AI] Type check for the Radio class and its ancestors.
const char * ClassName() const override
[AI] Returns the runtime class name for Radio objects.
~Radio() override
[AI] Destructor; shuts down radio playback and unregisters events.
MxLong Notify(MxParam &p_param) override
[AI] Handles system notifications (end actions, control events) relevant to the radio.
void CreateState()
[AI] Creates or retrieves a RadioState object in the game state manager.
Radio()
[AI] Constructs a new Radio, registering for notifications and control events.
void Initialize(MxBool p_und)
[AI] Sets radio system as enabled/disabled and resets state if changed.
RadioState * GetState()
[AI] Returns the current RadioState for this radio.
[AI] Playlist structure representing an indexed list of object IDs with next-item selection strategie...