22#ifndef DROPPED_MATERIA_MANAGER_HPP
23#define DROPPED_MATERIA_MANAGER_HPP
31#define MAX_DROPPED_MATERIAS 16
Declares the AMateria abstract base class.
#define MAX_DROPPED_MATERIAS
Defines the maximum number of Materias that can be managed at once.
Represents an abstract base class for all magical materias.
Manages AMateria objects that are temporarily "dropped" in the game.
~DroppedMateriaManager()
Destructor for DroppedMateriaManager. Automatically clears all remaining dropped materias by dealloca...
void clearAll()
Clears all currently managed dropped materias by deallocating their memory. This method is typically ...
void removeMateria(int index)
Removes a materia from a specific index in the dropped list without deleting it. This implies ownersh...
void displayDroppedMaterias() const
Displays the types and slots of all currently dropped materias for debugging.
DroppedMateriaManager()
Default constructor for DroppedMateriaManager. Initializes the manager with an empty list of dropped ...
DroppedMateriaManager & operator=(const DroppedMateriaManager &other)
Copy assignment operator for DroppedMateriaManager. Resets the current manager's list to empty,...
void addMateria(AMateria *materia)
Adds a materia to the list of dropped materias. Takes ownership of the passed AMateria pointer....
int getCount() const
Gets the current count of dropped materias being managed.
AMateria * getMateria(int index)
Gets a pointer to a materia at a specific index in the dropped list. This method transfers ownership ...