public void ChangeMoveDirection(float newDirection) { switch (state) { case State.Run: case State.Idle: owner.ChangeHorizontalMove(newDirection); if (newDirection == 0) { state = State.Idle; break; } state = State.Run; break; case State.Fall: case State.Jump: case State.Disable: owner.ChangeHorizontalMove(newDirection); break; } }