MateriaSource.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* MateriaSource.hpp :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2025/12/24 15:47:01 by bchanot #+# #+# */
  9. /* Updated: 2025/12/25 01:28:03 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #ifndef MATERIASOURCE_HPP
  13. # define MATERIASOURCE_HPP
  14. # include <iostream>
  15. # include <string>
  16. #include "AMateria.hpp"
  17. #include "IMateriaSource.hpp"
  18. class MateriaSource : public IMateriaSource
  19. {
  20. public:
  21. MateriaSource();
  22. MateriaSource( MateriaSource const & src );
  23. ~MateriaSource();
  24. virtual void learnMateria(AMateria* source);
  25. virtual AMateria* createMateria(std::string const & type);
  26. MateriaSource & operator=( MateriaSource const & rhs );
  27. private:
  28. AMateria *_items[4];
  29. };
  30. std::ostream & operator<<( std::ostream & o, MateriaSource const & i );
  31. #endif /* **************************************************** MATERIASOURCE_H */