Declares the AMateria abstract base class.
Represents an abstract base class for all magical materias.
An interface for any character that can interact with Materias.
virtual void use(int idx, ICharacter &target)=0
Uses the Materia at a specific inventory slot on a target character. This is a pure virtual function,...
virtual std::string const & getName() const =0
Gets the name of the character. This is a pure virtual function, requiring derived classes to impleme...
virtual ~ICharacter()
Virtual destructor for the ICharacter interface. Ensures proper cleanup of derived class objects when...
virtual AMateria * getMateriaAtSlot(int idx) const =0
virtual void equip(AMateria *m)=0
Equips a Materia to the character's inventory. This is a pure virtual function, requiring derived cla...
virtual void unequip(int idx)=0
Unequips a Materia from a specific inventory slot. This is a pure virtual function,...