/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* MateriaSource.cpp :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/12/11 12:17:06 by adjoly #+# #+# */
/* Updated: 2024/12/12 18:55:50 by adjoly ### ########.fr */
#include "MateriaSource.hpp"
#include "AMateria.hpp"
#include "Log.hpp"
#include "MateriaTemplate.hpp"
#include "iostream"
MateriaSource::~MateriaSource(void) {
log("➖", "MateriaSource", "", "destructor called");
}
void MateriaSource::learnMateria(AMateria *materia) {
for (int i = 0; i < MATERIA_COUNT; i++) {
if (!_materias[i]) {
_materias[i] = materia;
return ;
std::cout << "can't learn any more materia" << std::endl;
AMateria *MateriaSource::createMateria(std::string const &type) {
if (_materias[i]->getType() == type) {
return (_materias[i]->clone());
return (NULL);