24#ifndef MATERIASOURCE_HPP
25#define MATERIASOURCE_HPP
Declares the AMateria abstract base class.
Declares the IMateriaSource interface.
Represents an abstract base class for all magical materias.
An interface for objects that can learn Materia templates and create new Materias.
Represents a source for learning and creating Materias.
MateriaSource()
Default constructor for MateriaSource. Initializes the learning count to zero and sets all learned Ma...
virtual ~MateriaSource()
Destroys the MateriaSource object. Deallocates all dynamically allocated AMateria objects that were l...
MateriaSource & operator=(const MateriaSource &other)
Copy assignment operator for MateriaSource. Assigns values from another MateriaSource object,...
virtual void learnMateria(AMateria *materia)
Learns a Materia template for later creation. The MateriaSource makes a deep copy of the passed Mater...
virtual AMateria * createMateria(std::string const &type) const
Creates a new Materia based on a learned type. Returns a new instance (a clone) of a previously learn...