/// <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); }