コールチンでゲームステートを管理してみる
ステートを管理にコールチンが使えた
ミニゲームを作りたいと考えたときに、 Title→main→GameOver→Title みたいなステート遷移を行いたいときに意外とコールチンが使えた. この方法は下記のTanksの中でも利用されている(っと思う) unity3d.com
コード
void Start() { playerManger = playerManager.GetComponent<PlayerManager>(); StartCoroutine("GameStateChange"); } //Gameのマスター管理 IEnumerator GameStateChange() { yield return StartCoroutine(RoundStart()); yield return StartCoroutine(RoundPlay()); yield return StartCoroutine(RoundEnd()); yield return StartCoroutine(GameStateChange()); } IEnumerator RoundStart() { // テキストの変更 playerManger.CreatePlayer(); // 2秒後にStart yield return new WaitForSeconds(2.0f); } IEnumerator RoundPlay() { while (!OnPlayer()) { Debug.Log("プレイヤーが存在しています"); yield return null; } } IEnumerator RoundEnd() { Debug.Log("ゲームオーバー時に行いたい処理、2病後にRoundStart開始"); yield return new WaitForSeconds(2.0f); }