private void Update() { if (Input.GetKeyDown(KeyCode.A)) { _currentAction = _currentAction == HandAction.None ? HandAction.Hold : HandAction.None; UpdateUpper(); } if (_currentAction == HandAction.Hold && Input.GetKeyDown(KeyCode.Space)) { spine.AnimationState.SetAnimation( 1, $"Hit/{DirectionUtil.GetActualName(_currentDirection)}", false); spine.AnimationState.AddAnimation( 1, $"Hold/{DirectionUtil.GetActualName(_currentDirection)}", true, 0); return; } bool isWalking = Math.Abs(_characterController.Magnitude) > 0; Direction direction = DirectionUtil.ConvertDegrees(_characterController.AngleDeg); if (isWalking && direction != _currentDirection) { _currentDirection = direction; spine.Skeleton.ScaleX = DirectionUtil.IsFlippable(direction) ? -1 : 1; UpdateBase(); UpdateUpper(); } if (isWalking != _currentIsWalking) { _currentIsWalking = isWalking; UpdateBase(); } }