ICharacter.hpp
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* ICharacter.hpp :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <gychoi@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/08/17 22:26:16 by gychoi #+# #+# */ 9 /* Updated: 2023/08/17 23:33:52 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #pragma once 14 #ifndef __ICHARACTER_HPP__ 15 # define __ICHARACTER_HPP__ 16 # include <string> 17 18 class AMateria; 19 20 class ICharacter 21 { 22 public: 23 virtual ~ICharacter() {} 24 virtual std::string const& getName() const = 0; 25 virtual void equip(AMateria* m) = 0; 26 virtual void unequip(int idx) = 0; 27 virtual void use(int idx, ICharacter& target) = 0; 28 }; 29 30 #endif /* __ICHARACTER_HPP__ */