엔진은 유니티로 만들고 있습니다. 질문과 완전히 내용이 같지는 않지만 대략 비슷합니다.
public class 오크 : MonoBehaviour
{
virtual void 공격(){}
}
public class 회색오크 : 오크
{
override void 공격(){}
//특별 공격
}
public class 빨강오크 : 오크
{
override void 공격(){}
//특별 점프
}
public class 주황오크 : 오크
{
override void 공격(){}
// 특별 이동
}
이렇게 각각의 오크 족들이 있는데 각각의 오크들의 특별한 행동을 어떻게 만드는게 좋을지 가장 효과적인 방법을 알고 싶어서 질문드립니다.
제가 하려는 방법이
public class 회색오크 : 오크, I특별공격
{
override void 공격(){}
void 특별공격(){}
}
public class 빨강오크 : 오크,I특별점프
{
override void 공격(){}
void 특별점프(){}
}
public class 주황오크 : 오크,I특별이동
{
override void 공격(){}
void 특별이동(){}
}
이렇게 인터페이스로 각각의 오크에게 추가를 하는게 좋을까요?
또한 이렇게 추가한 인터페이스를
부모 클래스인 오크 클래스를 통해서 접근하려면 어떻게 해야할까요.
제가 어떻게 표현하면 좋을지 감이 안잡혀서 고수님들에게 질문드립니다.