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

            if (IsValidState())
            {
                currentBallState.Destroy();
            }
            currentBallState = nextBallState;
            if (IsValidState())
            {
                currentBallState.StateInit(ballBehaviour, this);
            }
        }
 /// <summary>
 /// 初期化
 /// </summary>
 public void Init(BallBehaviour argBallBehaviour, BallStateBase initState)
 {
     ballBehaviour = argBallBehaviour;
     TranslationState(initState);
 }