void Update()
{
// GUIを更新
_gui.Update(_selMode, _selTower);
// カーソルを更新
_cursor.Proc(_lCollision);
switch (_state)
{
case eState.Wait:
// Wave開始
_tWait -= Time.deltaTime;
if (_tWait < 0)
{
_enemyGenerator.Start();
// Wave開始演出を呼び出す
_waveStart.Begin(Global.Wave);
// メイン状態に遷移する
_state = eState.Main;
}
break;
case eState.Main:
// メインの更新
UpdateMain();
// ゲームオーバーチェック
if (Global.Life <= 0)
{
_state = eState.Gameover;
MyCanvas.SetActive("TextGameover", true);
break;
}
// Waveクリアチェック
if (IsWaveClear())
{
// 次のWaveへ
Global.NextWave();
// 停止タイマー設定
_tWait = TIMER_WAIT;
_state = eState.Wait;
}
break;
case eState.Gameover:
if (Input.GetMouseButton(0))
{
// やり直し
SceneManager.LoadScene("Main");
}
break;
}
}