유니티14 [개발더미][Unity] FSM #region FSM // FSM을 사용한 이유 // 1. 직관적 -> 상태를 알아보기 쉬움 // 2. 명확성 -> 상태별 수행 동작이 명확하게 분리됨 // 3. 예방 -> 상태가 겹치는 오류 발생 사전 차단 protected enum State { Idle, Move, Attack, Dead } [SerializeField] protected State myState; protected override void ChangeState(State changeState) { // 캐릭터의 상태를 바꾸는 함수 if (changeState == myState) return; // 같은 상태로 변경하는 경우 myAnim.SetBool(myState.ToString(), false); myState = change.. 2023. 7. 24. [개발더미][Unity] 추상 클래스 using System.Collections; using System.Collections.Generic; using UnityEngine; // 추상 클래스를 사용한 이유 // 1. 설계도 역할 -> 몬스터와 플레이어의 공통 특성을 파악(추상화) // 2. 캡슐화 -> 변수를 드러나지 않게 함(데이터 보호) // 3. 상속 -> 중복 코드 최소화 // 4. 다형성 -> 오버라이드 사용 public abstract class CommonProperties : MonoBehaviour { protected enum State { Idle, Move, Attack, Dead } [SerializeField] protected State myState; protected abstract void ChangeS.. 2023. 7. 24. 이전 1 2 다음