public IEnumerator loadNextLevel() { GameObject.Find("BlackPanel1").GetComponent <GraphicColorLerp>().startColorChange(); LevelNumber.setSkipIntro(false); yield return(new WaitForSeconds(1.5f)); LevelNumber.setLevel(levelNum + 1); SceneManager.LoadScene("Campaign"); }
private IEnumerator loadLevel() { levelTransition = true; LevelNumber.setLevel(levelIndex); blackPanel.gameObject.GetComponent <Image>().enabled = true; blackPanel.startColorChange(); yield return(new WaitForSeconds(1.5f)); SceneManager.LoadScene("Campaign"); }
public void updateLevelInUI(string levelPack, int levelNumber) { number.setLevel(levelNumber); packName.setLevelPack(levelPack); }
// Update is called once per frame void Update() { if (bombUsed) { bombCooldown -= Time.deltaTime; if (bombCooldown <= 0) { bombUsed = false; bombCooldown = setBombCooldown; } } if (debug) { if (Input.GetKeyDown(KeyCode.L)) { LevelNumber.setLevel(levelNum + 1); SceneManager.LoadScene("Campaign"); } if (Input.GetKeyDown(KeyCode.K)) { LevelNumber.setLevel(levelNum - 1); SceneManager.LoadScene("Campaign"); } } switch (gameState) { case (GameState.beforeGame): runPreGame(); //level tutorial logic is in here. Also handles levels without tutorials if (preventPauseTimer > 0) { preventPauseTimer -= Time.deltaTime; } else if (Input.GetKeyDown(KeyCode.Escape)) { gameState = GameState.paused; pauseCanvas.SetActive(true); dangerPlaying = shipDangerAudio.isPlaying; if (dangerPlaying) { shipDangerAudio.Pause(); } eventSystem.SetSelectedGameObject(GameObject.Find("ResumeButton")); //set default button GameObject.Find("ResumeButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button Time.timeScale = 0; } break; case (GameState.duringGame): if (survival) { StartCoroutine(advanceDropTimer()); } if (timeRemaining > 0) { timeRemaining -= Time.deltaTime; } else { timeRemaining = 0f; //Ensure values sent to progress bar //and progress text do not exceed 100% } if (preventPauseTimer > 1.5) //survival has a shorter transition { preventPauseTimer -= Time.deltaTime; } else if (Input.GetKeyDown(KeyCode.Escape)) { gameState = GameState.paused; pauseCanvas.SetActive(true); dangerPlaying = shipDangerAudio.isPlaying; if (dangerPlaying) { shipDangerAudio.Pause(); } eventSystem.SetSelectedGameObject(GameObject.Find("ResumeButton")); //set default button GameObject.Find("ResumeButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button Time.timeScale = 0; } if (chargeText != null) { chargeText.setPercent(1 - (timeRemaining / totalDuration)); //update progress bar } if (chargeBar != null) { chargeBar.setProgress(1 - (timeRemaining / totalDuration)); //update text in progress bar } if (pointsText != null) { pointsText.text = pointsAsString(points); //display points } if (multiplierText != null) { multiplierText.text = multiplier.ToString("n1") + " x"; multiplierText.color = HelperFunctions.colorInterpolation(Color.red, Color.white, (multiplier - 1) / 9); } if ((Input.GetKeyDown(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.RightShift)) && !bombUsed) { dropBomb(); } if (playerIsDead) { HelperFunctions.playSound(ref shipAudio, shipDeath); lowHealthText.enabled = false; shipDangerAudio.enabled = false; gameIsOver = true; for (int i = 0; i < currentSettings.enabledUI.Length; i++) { currentSettings.enabledUI[i].SetActive(false); } settingsList[levelNum].SetActive(false); //turn off enemySpawner GameObject[] turrets = GameObject.FindGameObjectsWithTag("Turret"); for (int i = 0; i < turrets.Length; i++) { turrets[i].GetComponent <Turret>().inputDisabled = true; //disable player input turrets[i].GetComponent <Turret>().fadeTurret(); //fade turrets to transparent turrets[i].transform.Find("TargettingLine").gameObject.SetActive(false); } GameObject ship = GameObject.FindWithTag("Player"); ship.transform.Find("Ship").GetComponent <ColorLerp>().startColorChange(); ship.GetComponent <ParticleSystem>().Play(); Instantiate(Resources.Load("ClearExplosion"), ship.transform.position, Quaternion.identity); deathCanvas.SetActive(true); if (survival) { gameState = GameState.survivalDeathState; //change state to game over screen eventSystem.SetSelectedGameObject(GameObject.Find("RestartButton")); GameObject.Find("RestartButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button setHighScore(points); } else { gameState = GameState.campaignDeathState; //change state to campaign game over screen eventSystem.SetSelectedGameObject(GameObject.Find("RestartButton")); GameObject.Find("RestartButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button } } if (!survival && timeRemaining <= 0) //survival game mode never leaves this state { lowHealthText.enabled = false; shipDangerAudio.enabled = false; gameIsOver = true; for (int i = 0; i < currentSettings.enabledUI.Length; i++) { currentSettings.enabledUI[i].SetActive(false); } chargeBar.setProgress(1); dropFTLBomb(); //kill all enemies settingsList[levelNum].SetActive(false); //turn off enemySpawner jumpTimer = 0; //set jump timer to zero for next state gameState = GameState.transition; //State Transition GameObject[] turrets = GameObject.FindGameObjectsWithTag("Turret"); for (int i = 0; i < turrets.Length; i++) { turrets[i].GetComponent <Turret>().inputDisabled = true; //disable player input turrets[i].GetComponent <Turret>().fadeTurret(); //fade turrets to transparent turrets[i].transform.Find("TargettingLine").gameObject.SetActive(false); //disable targetting lines } } break; case (GameState.transition): if (delayBeforeJump > 0) { delayBeforeJump -= Time.deltaTime; //delay before FTL jump } else { if (jumpTimer == 0) { chargeText.enabled = false; //disable automatic color/text changes chargeBar.enabled = false; //disable automatic color/text changes ftlJump.startAllStars(); //start FTL jump chargeText.GetComponent <Text>().text = "Jumping..."; } if (jumpTimer < jumpDuration) { jumpTimer += Time.deltaTime; //Decrease progress bar during jump if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.Space)) { jumpTimer = jumpDuration; } } else { gameState = GameState.transitionOver; //State Transition levelCompletionCanvas.SetActive(true); if (levelNum < 7) { eventSystem.SetSelectedGameObject(GameObject.Find("ContinueButton")); //set default button GameObject.Find("ContinueButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button } else { eventSystem.SetSelectedGameObject(GameObject.Find("MainMenuButton")); //set default button GameObject.Find("ContinueButton").SetActive(false); GameObject.Find("MainMenuButton").GetComponent <Button>().OnSelect(new BaseEventData(EventSystem.current)); //force highlight button GameObject.Find("MainMenuButton").GetComponent <RectTransform>().anchorMin = new Vector2(0.3f, 0); GameObject.Find("MainMenuButton").GetComponent <RectTransform>().anchorMax = new Vector2(0.7f, 0.5f); } if (levelNum >= settingsList.Count) { GameObject.Find("ContinueButton").GetComponent <Button>().interactable = false; //if on last level, grey out continueButton } } } break; case (GameState.transitionOver): //display GUI break; case (GameState.campaignDeathState): break; case (GameState.survivalDeathState): dropTimer = 0.0f; break; case (GameState.paused): GameObject[] turretList = GameObject.FindGameObjectsWithTag("Turret"); for (int i = 0; i < turretList.Length; ++i) { turretList[i].GetComponent <Turret>().inputDisabled = true; } if (Input.GetKeyDown(KeyCode.Escape)) { resumeButton(); } break; } }