/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* MateriaSource.cpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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) { for (int i = 0; i < MATERIA_COUNT; i++) { if (_materias[i]->getType() == type) { return (_materias[i]->clone()); } } return (NULL); }