/// <summary>
        /// ステートの遷移
        /// </summary>
        public void TranslationState(BallStateBase nextBallState)
        {
            if (currentBallState == nextBallState)
            {
                return;
            }

            if (IsValidState())
            {
                currentBallState.Destroy();
            }
            currentBallState = nextBallState;
            if (IsValidState())
            {
                currentBallState.StateInit(ballBehaviour, this);
            }
        }