IMateriaSource.hpp 1.3 KB

123456789101112131415161718192021222324252627282930
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* IMateriaSource.hpp :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2025/12/24 15:35:03 by bchanot #+# #+# */
  9. /* Updated: 2025/12/24 15:35:58 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #ifndef IMATERIASOURCE_HPP
  13. # define IMATERIASOURCE_HPP
  14. # include <iostream>
  15. # include <string>
  16. #include "AMateria.hpp"
  17. class IMateriaSource
  18. {
  19. public:
  20. virtual ~IMateriaSource() {}
  21. virtual void learnMateria(AMateria*) = 0;
  22. virtual AMateria* createMateria(std::string const & type) = 0;
  23. };
  24. std::ostream & operator<<( std::ostream & o, IMateriaSource const & i );
  25. #endif /* ************************************************** IMATERIASOURCE_H */