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

[AI] Specialized pointer list for managing a collection of LegoCacheSound objects, providing comparison and list management. More...

#include <legocachesoundlist.h>

Inheritance diagram for LegoCacheSoundList:
Collaboration diagram for LegoCacheSoundList:

Public Member Functions

 LegoCacheSoundList (MxBool p_ownership=FALSE)
 [AI] Construct a LegoCacheSoundList with optional ownership setting. More...
 
MxS8 Compare (LegoCacheSound *p_a, LegoCacheSound *p_b) override
 [AI] Compare two LegoCacheSound pointer values for list ordering. More...
 
- Public Member Functions inherited from MxPtrList< LegoCacheSound >
 MxPtrList (MxBool p_ownership)
 [AI] More...
 
void SetOwnership (MxBool p_ownership)
 [AI] More...
 
- Public Member Functions inherited from MxList< T >
 MxList ()
 [AI] Constructor. Initializes the list pointers to null (empty list). [AI] More...
 
 ~MxList () override
 [AI] Destructor. Deletes all entries in the list and manages resource ownership. [AI] More...
 
void Append (T p_obj)
 [AI] More...
 
void Prepend (T p_obj)
 [AI] More...
 
void DeleteAll ()
 [AI] More...
 
void Empty ()
 [AI] More...
 
MxU32 GetNumElements ()
 [AI] More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MxPtrList< LegoCacheSound >
static void Destroy (LegoCacheSound *p_obj)
 [AI] More...
 
- Protected Member Functions inherited from MxList< T >
void DeleteEntry (MxListEntry< T > *)
 [AI] More...
 
MxListEntry< T > * InsertEntry (T, MxListEntry< T > *, MxListEntry< T > *)
 [AI] More...
 
- Protected Member Functions inherited from MxCollection< T >
 MxCollection ()
 [AI] Constructs an empty collection, initializing count and default element destructor. More...
 
virtual MxS8 Compare (T a, T b)
 [AI] Compares two elements of the collection (default implementation returns zero; override in subclasses for meaningful comparison). More...
 
 ~MxCollection () override
 [AI] Virtual destructor for proper polymorphic destruction. More...
 
void SetDestroy (void(*p_customDestructor)(T))
 [AI] Assigns a custom destructor function to be used for elements of this collection. More...
 
- Protected Member Functions inherited from MxCore
 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...
 
- Static Protected Member Functions inherited from MxCollection< T >
static void Destroy (T obj)
 [AI] Static no-op destroy function; suitable for types that do not need destruction. More...
 
- Protected Attributes inherited from MxList< T >
MxListEntry< T > * m_first
 [AI] Pointer to the first entry in the list. [AI] More...
 
MxListEntry< T > * m_last
 [AI] Pointer to the last entry in the list. [AI] More...
 
- Protected Attributes inherited from MxCollection< T >
MxU32 m_count
 [AI] Number of elements currently stored in the collection. More...
 
void(* m_customDestructor )(T)
 [AI] Function pointer to the custom element destructor used for cleanup of elements. More...
 

Detailed Description

[AI] Specialized pointer list for managing a collection of LegoCacheSound objects, providing comparison and list management.

[AI] LegoCacheSoundList serves as a strongly typed container for LegoCacheSound pointers, managing ownership and order using MxPtrList as its base. Typical usage is to cache sound assets for reuse within the game, allowing efficient search and lifecycle management. The Compare function provides a way to order or uniquely identify sounds based on pointer value, which is important for pointer-based collections and deduplication of sound entries. Ownership semantics can be controlled on construction.

Definition at line 23 of file legocachesoundlist.h.

Constructor & Destructor Documentation

◆ LegoCacheSoundList()

LegoCacheSoundList::LegoCacheSoundList ( MxBool  p_ownership = FALSE)
inline

[AI] Construct a LegoCacheSoundList with optional ownership setting.

Parameters
p_ownershipIndicates whether the list owns the pointed LegoCacheSound objects and is responsible for deleting them. [AI]

[AI] If ownership is true, the list will delete LegoCacheSound objects when removing them from the container or when the list is destroyed. If false, the caller manages the object lifetime.

Definition at line 30 of file legocachesoundlist.h.

Member Function Documentation

◆ Compare()

MxS8 LegoCacheSoundList::Compare ( LegoCacheSound p_a,
LegoCacheSound p_b 
)
inlineoverride

[AI] Compare two LegoCacheSound pointer values for list ordering.

Parameters
p_aFirst LegoCacheSound pointer to compare. [AI]
p_bSecond LegoCacheSound pointer to compare. [AI]
Returns
0 if the pointers are equal, -1 if p_a is less than p_b, 1 otherwise. [AI]

[AI] Used by the list to sort or identify uniqueness. This comparison is strictly on pointer value, not underlying sound data content; useful for managing objects within pointer-based collections. Implements and overrides the virtual method from the parent MxPtrList. [AI]

Definition at line 39 of file legocachesoundlist.h.


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