여러가지 상태들을 bool 변수로 두고 관리하다 보면 스파게티 코드가 되어버려 점점 요소를 추가하거나 관리하기가 힘들어진다
따라서 이들을 state 패턴으로 관리하면 편하다
PlayerController 스크립트에서 다음과 같은 열거형을 만들어준다
public enum PlayerState
{
Die,
Moving,
Idle,
}
PlayerState _state = PlayerState.Idle;
그리고 Update함수에서 switch 문을 활용하여 분기를 만들어주고, 각 함수에 기존 동작들을 넣어준다
void Update()
{
switch (_state)
{
case PlayerState.Die:
UpdateDie();
break;
case PlayerState.Moving:
UpdateMoving();
break;
case PlayerState.Idle:
UpdateIdle();
break;
}
이렇게 코드를 작성하게 되면, 각 동작들이 서로 꼬이지 않고 동작할 수 있다
'강의, 책 > [Unity] C#과 유니티로 만드는 MMORPG 게임 개발 시리즈' 카테고리의 다른 글
Section 7. UI - UI 자동화(이벤트) (0) | 2024.01.26 |
---|---|
Section 7. UI - UI 자동화(바인딩) (0) | 2024.01.26 |
Section 6. Animation - Animation Blending (0) | 2024.01.24 |
Section 5. Camera (0) | 2024.01.24 |
Section 4. Collision - Raycasting, LayerMask (0) | 2024.01.21 |