35 LOG_INFO(
"AMateria constructor called for type: " + oss.
str());
43AMateria::AMateria(
const AMateria &src) : type(src.type) {
46 LOG_INFO(
"AMateria copy constructor called for type: " + oss.
str());
58 LOG_INFO(
"AMateria copy assignment operator called for type: " + oss.
str());
71 LOG_INFO(
"AMateria destructor called for type: " + oss.
str());
Declares the AMateria abstract base class.
Declares the Character class.
Defines the Logger class for console-based logging.
#define LOG_INFO(msg)
Macro for logging informational messages.
Represents an abstract base class for all magical materias.
virtual AMateria & operator=(const AMateria &rhs)
Copy assignment operator for AMateria. Assigns the type from another AMateria object....
virtual ~AMateria()
Destroys the AMateria object.
std::string const & getType() const
Gets the type of the materia.
virtual void use(ICharacter &target)
Uses the materia on a target character. This is a virtual function with a base implementation that pr...
An interface for any character that can interact with Materias.