[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
virtual MxResult Serialize(LegoStorage *p_storage)
[AI] Serialize state to a storage (for save/load).
virtual MxBool Reset()
[AI] Hook for returning object to default (empty) state; not implemented in this base.
MxBool IsA(const char *p_name) const override
[AI] Tests if this object is of a given class name, directly or through inheritance.
~LegoState() override
[AI] Virtual destructor to allow subclass cleanup.
virtual MxBool IsSerializable()
[AI] Returns if this state can be serialized (for game saving/loading support).
const char * ClassName() const override
[AI] Gets this class's name for RTTI/IsA functionality.
ScoreColor
[AI] Score coloring values for in-game display feedback or logic.
@ e_red
[AI] Warning/critical color (3) [AI]
@ e_yellow
[AI] First colored highlight (1) [AI]
@ e_blue
[AI] Second color, e.g. better score (2) [AI]
@ e_grey
[AI] Default/neutral color (0) [AI]
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
virtual LegoBool IsWriteMode()
Returns TRUE if object was opened in write mode.
LegoStorage * WriteMxString(MxString p_data)
Writes a length-prefixed MxString to storage.
[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.
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
[AI] Playlist structure representing an indexed list of object IDs with next-item selection strategie...
MxBool Contains(MxU32 p_objectId)
[AI] Checks if playlist contains an object ID.
MxS16 m_mode
[AI] Selection/iteration mode (as in Mode). [AI]
MxS16 m_length
[AI] Number of IDs in the playlist. [AI]
Playlist(MxU32 *p_objectIds, MxS16 p_length, MxS16 p_mode)
[AI] Initialize a Playlist using specific object IDs, length, and mode.
MxU32 Next()
[AI] Retrieves the object ID at the current position, advances next index according to playlist mode.
MxU32 * m_objectIds
[AI] Pointer to array of object IDs. Not owned; just used for lookup. [AI]
Mode
[AI] Playback/select mode for playlist sequencing [AI]
@ e_random
[AI] Pick a random item each time [AI]
@ e_loopSkipFirst
[AI] Repeats items in sequence, but skips first entry after the initial loop [AI]
@ e_loop
[AI] Continue repeating all items in sequence [AI]
@ e_once
[AI] Play all items just one time [AI]
Playlist()
[AI] Initializes playlist with no object IDs and default mode (loop).
Playlist & operator=(const Playlist &p_playlist)
[AI] Assignment operator to copy playlist state (pointers and counters only; does not deep-copy IDs a...
MxS16 m_nextIndex
[AI] Current index for next selection (suitable for sequential/random access). [AI]