// Update is called once per frame void Update() { if (playerHp.isPlayerDead()) { return; } if (scoreMultiplierTimer > 0f) { scoreMultiplierTimer -= Time.deltaTime; if (scoreMultiplierTimer <= 0f) { scoreMultiplier = baseMultiplier; scoreMultiplierText.text = scoreMultiplier.ToString() + "x"; } } if (currentState == GameState.Setup) { breakTimer -= Time.deltaTime; if (breakTimer <= 0f && !coroutineStarted) { StartCoroutine(NextLevel()); } } else if (currentState == GameState.Round) { roundTimer -= Time.deltaTime; if (roundTimer <= 0f) { clearField(); currentState = GameState.Boss; bossPicker(); } } else if (currentState == GameState.Boss) { foreach (Enemy boss in currentBossScripts) { if (!boss.checkDeath()) { return; } } foreach (GameObject boss in currentBosses) { Destroy(boss.gameObject); } clearBasicEnemySpawners(); clearBosses(); clearField(); determineDrop(); breakTimer = setBreakTimer; blockerSpawners.SetActive(false); currentState = GameState.Setup; } }