public override void Reason() { if (IsGeneratorsDead()) { controller.Spawner.enabled = false; if (shieldGone) { controller.dreadnovaShield.SetActive(false); if (controller.State == DreadnovaState.SHIELD_STAGE) { controller.PerformTransition(Transition.NoShield); } else { controller.PerformTransition(Transition.Attack); } } else { shieldDissolve = Mathf.Max(shieldDissolve - 0.2f * Time.deltaTime, 0); if (shieldDissolve == 0) { shieldGone = true; } } } else if (GameManager.Instance.GameState == GameState.BATTLE) { if (AreaManager.Instance.EnemyCount <= controller.Spawner.Wave.GetMaxEnemyCount(waveCount) * 0.30f) { waveTime += Time.deltaTime; if (waveTime >= controller.Spawner.Wave.TimeBetweenWaves) { waveTime = 0; waveCount = (waveCount + 1) % controller.Spawner.Wave.Waves.Length; controller.Spawner.StartWave(waveCount, false); } } } }
public override void Reason() { if (GameManager.Instance.GameState == SNSSTypes.GameState.BATTLE) { if (!controller.warping) { if (controller.State == SNSSTypes.DreadnovaState.SHIELD_STAGE) { controller.PerformTransition(Transition.Defend); } else if (controller.State == SNSSTypes.DreadnovaState.FINAL_STAGE) { controller.PerformTransition(Transition.Attack); } controller.gameObject.SetActive(true); } } }
public override void Reason() { if (GameManager.Instance.GameState == SNSSTypes.GameState.BATTLE) { if (!warped) { warped = true; controller.WarpDreadnova(); } else if (!controller.warping) { controller.PerformTransition(Transition.NoHealth); GameManager.Instance.SwitchState(GameState.BATTLE_END); } } }