/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ICharacter.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: bchanot +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/18 19:26:25 by bchanot #+# #+# */ /* Updated: 2025/12/19 16:48:15 by bchanot ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef ICHARACTER_HPP # define ICHARACTER_HPP # include # include #include "AMateria.hpp" class ICharacter { public: virtual ~ICharacter() {} virtual std::string const & getName() const = 0; virtual void equip(AMateria* m) = 0; virtual void unequip(int idx) = 0; virtual void use(int idx, ICharacter& target) = 0; ICharacter & operator=( ICharacter const & rhs ) = delete; }; std::ostream & operator<<( std::ostream & o, ICharacter const & i ); #endif /* ****************************************************** ICHARACTER_H */