/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ICharacter.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/14 16:40:25 by charles #+# #+# */ /* Updated: 2020/04/14 17:55:14 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef ICHARACTER_HPP # define ICHARACTER_HPP # 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; protected: ICharacter(); ICharacter(ICharacter const& other); void operator=(ICharacter const& other); }; #endif