//나중에 함수로 만들어서 Room에서 실행, Test용 public void OnEnable() { StartCoroutine("MonsterFSM"); StartCoroutine("Move"); monsterStatus = MONSTER_STATUS.PATROL; target = GameObject.FindGameObjectWithTag("Player").transform.GetChild(0).transform; anim = gameObject.GetComponent <Animator>(); }
// 초기에 한 번 실행, 몬스터의 초기 상태는 정찰 public void OnEnable() { Init(); StartCoroutine("MonsterFSM"); StartCoroutine("Move"); monsterStatus = MONSTER_STATUS.PATROL; player = GameObject.FindGameObjectWithTag("Player").transform; }
public override void ChangeMonsterState(MONSTER_STATUS status) { base.ChangeMonsterState(status); }
//상태가 변화하면 bool값을 바꿔서 진행중이던 모션을 멈추고 새로운 모션을 실행한다. //이건 자식 클래스에서 그대로 사용하자, 모든 몬스터가 동일 virtual public void ChangeMonsterState(MONSTER_STATUS status) { isNewState = true; monsterStatus = status; }
// 다음 상태 저장 virtual public void ChangeMonsterState(MONSTER_STATUS status) { monsterStatus = status; }