Unity

enum활용

우대비 2022. 7. 5. 10:40
반응형

bool을 많이 만들어서

if ( _Moving == false)
	return
if ( _Skill == false)
	return
if ( _Idle == false)
	return

이런식으로 코드를 쌓아두는것보다

enum으로 상태를 정의해두고

Switch문으로 정리하는게 더 보기도 좋고 유지보수하기도 좋음

    public enum CreatureState
    {
        Idle,
        Moving,
        Skill,
        Dead,

    }
    CreatureState _state = CreatureState.Idle;
    public CreatureState State
    {
        get { return _state; }
        set
        {
            if (_state == value)
                return;
            
            _state = value;

            UpdateAnimation();

        }
    }
    protected virtual void UpdateAnimation()
    {
        if (_state == CreatureState.Idle)
        {
            switch (_lastDir)
            {
                case MoveDir.Up:
                    _animator.Play("IDLE_BACK");
                    _sprite.flipX = false;
                    break;

                case MoveDir.Down:
                    _animator.Play("IDLE_FRONT");
                    _sprite.flipX = false;
                    break;

                case MoveDir.Left:
                    _animator.Play("IDLE_RIGHT");
                    _sprite.flipX = true;
                    break;

                case MoveDir.Right:
                    _animator.Play("IDLE_RIGHT");
                    _sprite.flipX = false;
                    break;
            }
        }
반응형
LIST

'Unity' 카테고리의 다른 글

Unity Google Admob  (0) 2024.04.22
Unity JAVA_TOOL_OPTIONS Error (Gradle Bild failed)  (0) 2024.04.22
Character Controller move가 안될때  (0) 2022.08.03
Unity Input System  (0) 2022.08.03
Create Unity Menu  (0) 2022.06.28