Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.SceneManagement;
- public class GUIManager : MonoBehaviour {
- public GameObject Title, MainMenu, Credits, About, CannonPanel, AmmoCounter, Gate, Right, Left, Pause, Loading, GUIPlayer, CreditsEnd, Fail, Win, Cannon, Platform, FinalGate, ControlPanel, KillCounter, MinionCounter, Minion, SpawnOne, SpawnTwo, SpawnThree, SpawnFour, SpawnFive, SpawnSix, SpawnSeven, SpawnEight;
- public GameObject[] Minions, Enemy, TowerCleanup, Energy, RangedEnemies, CarriedEnergy, Enemies, Mins;
- public bool Started, TutorialStarted, MinionRecaller, TutorialPathOne, TutorialPathTwo, TutorialPathThree, TutorialPathGame, TurnedEnemiesOn, DeadMusicPlaying, Spawned, Paused, GameEnded, TurnedMinionsOn, TutorialTurnedEnemiesOn, ResultsFinished, OnTitleUp, Won, EndSequenceFinished;
- void Start () {
- FinalGate = GameObject.FindGameObjectWithTag("FinalGate");
- Title = transform.Find ("Title").gameObject;
- MainMenu = transform.Find ("Menu").gameObject;
- Pause = transform.Find ("Pause").gameObject;
- Credits = transform.Find ("Credits").gameObject;
- About = transform.Find ("About").gameObject;
- CreditsEnd = transform.Find ("CreditsEnd").gameObject;
- Fail = transform.Find ("ResultFail").gameObject;
- Loading = transform.Find ("LoadingWindow").gameObject;
- Win = transform.Find ("ResultWin").gameObject;
- Cannon = GameObject.FindGameObjectWithTag ("Cannon");
- CannonPanel = GameObject.FindGameObjectWithTag ("CannonPanel");
- AmmoCounter = GameObject.FindGameObjectWithTag ("Ammo");
- ControlPanel = GameObject.FindGameObjectWithTag ("ControlPanel");
- KillCounter = GameObject.FindGameObjectWithTag ("Killcounterpanel");
- MinionCounter = GameObject.FindGameObjectWithTag ("MinionCounter");
- Platform = transform.parent.gameObject;
- GUIPlayer = GameObject.FindGameObjectWithTag ("Player");
- SpawnOne = transform.Find ("SpawnOne").gameObject;
- SpawnTwo = transform.Find ("SpawnTwo").gameObject;
- SpawnThree = transform.Find ("SpawnThree").gameObject;
- SpawnFour = transform.Find ("SpawnFour").gameObject;
- SpawnFive = transform.Find ("SpawnFive").gameObject;
- SpawnSix = transform.Find ("SpawnSix").gameObject;
- SpawnSeven = transform.Find ("SpawnSeven").gameObject;
- SpawnEight = transform.Find ("SpawnEight").gameObject;
- Title.SetActive (false);
- OnTitleUp = false;
- Loading.SetActive (true);
- MainMenu.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (false);
- Win.SetActive (false);
- Fail.SetActive (false);
- CreditsEnd.SetActive (false);
- Started = false;
- }
- void Update () {
- //Checking if the final gate has been destroyed
- if (FinalGate != null) {
- if (FinalGate.GetComponent<GateHealth> ().HP <= 0f) {
- if (!EndSequenceFinished) {
- GameEnded = true;
- OnResultsWin ();
- MinionRecaller = false;
- TowerCleanup = GameObject.FindGameObjectsWithTag ("TowerBobbleTarget");
- foreach (GameObject t in TowerCleanup) {
- Destroy (t.transform.parent.gameObject);
- }
- GUIPlayer.GetComponent<PlayerStats> ().Health = 50f;
- Enemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
- foreach (GameObject e in Enemies) {
- Destroy (e);
- }
- EndSequenceFinished = true;
- }
- }
- }
- //Controls the transition from the splash screen to the main menu screen
- if (OnTitleUp && Left.GetComponent<TriggerHeld> ().Held || OnTitleUp && Right.GetComponent<TriggerHeld> ().Held) {
- OnMenu ();
- OnTitleUp = false;
- }
- //Checks if the player dies
- if (GUIPlayer.GetComponent<PlayerStats> ().Health <= 0f) {
- if (!ResultsFinished) {
- OnResultsFail ();
- Mins = GameObject.FindGameObjectsWithTag ("Minion");
- foreach (GameObject m in Mins) {
- Destroy (m.gameObject);
- }
- Platform.GetComponent<MoveOnPath> ().enabled = false;
- MinionRecaller = false;
- ResultsFinished = true;
- }
- }
- //If the game isn't started and the tutorial isn't started
- if (Started == false && TutorialStarted == false) {
- //If the player dies
- if (EndSequenceFinished) {
- Minions = GameObject.FindGameObjectsWithTag ("Minion");
- if (Minions != null) {
- foreach (GameObject minion in Minions) {
- minion.GetComponent<Minion> ().enabled = false;
- if (minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> () != null) {
- minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
- }
- }
- }
- }
- //Disables all enemy movement and actions
- Enemy = GameObject.FindGameObjectsWithTag ("Enemy");
- foreach (GameObject ene in Enemy) {
- if (ene.GetComponent<EnemyMeleeMinion> () != null) {
- ene.GetComponent<EnemyMeleeMinion> ().enabled = false;
- ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
- }
- if (ene.GetComponent<EnemyMeleePlayer> () != null) {
- ene.GetComponent<EnemyMeleePlayer> ().enabled = false;
- ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
- }
- }
- RangedEnemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
- foreach (GameObject enem in RangedEnemies) {
- if (enem.GetComponent<EnemyRangedMinion> () != null) {
- enem.GetComponent<EnemyRangedMinion> ().enabled = false;
- }
- if (enem.GetComponent<EnemyRangedPlayer> () != null) {
- enem.GetComponent<EnemyRangedPlayer> ().enabled = false;
- }
- }
- //Disables all energy movement
- Energy = GameObject.FindGameObjectsWithTag ("Upgrade");
- if (Energy != null) {
- foreach (GameObject up in Energy) {
- up.GetComponent<RockGroupMove> ().enabled = false;
- }
- }
- CarriedEnergy = GameObject.FindGameObjectsWithTag ("CarriedUpgrade");
- if (CarriedEnergy != null) {
- foreach (GameObject upo in CarriedEnergy) {
- upo.GetComponent<RockGroupMove> ().enabled = false;
- }
- }
- //Disables the player control panels
- ControlPanel.SetActive (false);
- KillCounter.SetActive (false);
- CannonPanel.SetActive (false);
- AmmoCounter.SetActive (false);
- if (MinionRecaller == false) {
- Platform.GetComponent<MinionRecaller> ().enabled = false;
- MinionRecaller = true;
- }
- //Disables player controller reticles and beams
- Right.GetComponent<PlayerShoot> ().enabled = false;
- Left.GetComponent<DirectMinions> ().enabled = false;
- Right.GetComponent<PlayerShoot> ().Beam.SetActive (false);
- Left.GetComponent<DirectMinions> ().Beam.SetActive (false);
- Cannon.GetComponent<Cannon> ().BeamOne.SetActive (false);
- Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (false);
- }
- //If the game is started and the tutorial isn't started
- if (Started == true && TutorialStarted == false) {
- //Enables player control panels
- ControlPanel.SetActive (true);
- KillCounter.SetActive (true);
- CannonPanel.SetActive (true);
- AmmoCounter.SetActive (true);
- //Gives the player 8 minions to start the game with
- if (Spawned == false) {
- Instantiate (Minion, SpawnOne.transform.position, transform.rotation);
- Instantiate (Minion, SpawnTwo.transform.position, transform.rotation);
- Instantiate (Minion, SpawnThree.transform.position, transform.rotation);
- Instantiate (Minion, SpawnFour.transform.position, transform.rotation);
- Instantiate (Minion, SpawnFive.transform.position, transform.rotation);
- Instantiate (Minion, SpawnSix.transform.position, transform.rotation);
- Instantiate (Minion, SpawnSeven.transform.position, transform.rotation);
- Instantiate (Minion, SpawnEight.transform.position, transform.rotation);
- Spawned = true;
- }
- //Turns all minions on
- if (TurnedMinionsOn == false) {
- Minions = GameObject.FindGameObjectsWithTag ("Minion");
- foreach (GameObject minion in Minions) {
- minion.GetComponent<Minion> ().enabled = true;
- minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
- }
- TurnedMinionsOn = true;
- }
- //Turns all enemies on
- if (TurnedEnemiesOn == false) {
- Enemy = GameObject.FindGameObjectsWithTag ("Enemy");
- foreach (GameObject ene in Enemy) {
- if (ene.GetComponent<EnemyMeleeMinion> () != null) {
- ene.GetComponent<EnemyMeleeMinion> ().enabled = true;
- ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
- }
- if (ene.GetComponent<EnemyMeleePlayer> () != null) {
- ene.GetComponent<EnemyMeleePlayer> ().enabled = true;
- ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
- }
- }
- RangedEnemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
- foreach (GameObject enem in RangedEnemies) {
- if (enem.GetComponent<EnemyRangedMinion> () != null) {
- enem.GetComponent<EnemyRangedMinion> ().enabled = true;
- }
- if (enem.GetComponent<EnemyRangedPlayer> () != null) {
- enem.GetComponent<EnemyRangedPlayer> ().enabled = true;
- }
- }
- //Turns the player's beams and reticles on
- Right.GetComponent<PlayerShoot> ().Beam.SetActive (true);
- Left.GetComponent<DirectMinions> ().Beam.SetActive (true);
- Cannon.GetComponent<Cannon> ().BeamOne.SetActive (true);
- Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (true);
- TurnedEnemiesOn = true;
- }
- //Enables the player's controls and the platform scripts
- Platform.GetComponent<MoveOnPath> ().enabled = true;
- Platform.GetComponent<MinionRecaller> ().enabled = true;
- Right.GetComponent<PlayerShoot> ().enabled = true;
- Left.GetComponent<DirectMinions> ().enabled = true;
- }
- //Enables the beams and reticles in the tutorial
- if (TutorialStarted) {
- if (!TutorialTurnedEnemiesOn) {
- Right.GetComponent<PlayerShoot> ().Beam.SetActive (true);
- Left.GetComponent<DirectMinions> ().Beam.SetActive (true);
- Cannon.GetComponent<Cannon> ().BeamOne.SetActive (true);
- Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (true);
- TutorialTurnedEnemiesOn = true;
- }
- }
- }
- public void OnMenu () {
- Title.SetActive (false);
- MainMenu.SetActive (true);
- Credits.SetActive (false);
- About.SetActive (false);
- Started = false;
- }
- public void OnPlay() {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (false);
- TutorialStarted = false;
- Platform.GetComponent<MoveOnPath> ().PathToFollow = Platform.GetComponent<SwitchPath> ().WayOne.GetComponent<EditorPathing>();
- Started = true;
- }
- public void OnTutorial() {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (false);
- TutorialStarted = true;
- TutorialPathOne = true;
- Started = false;
- }
- public void OnResultsWin() {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Win.SetActive (true);
- Credits.SetActive (false);
- About.SetActive (false);
- TutorialStarted = false;
- Started = false;
- Won = true;
- }
- public void OnResultsFail() {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Fail.SetActive (true);
- Credits.SetActive (false);
- About.SetActive (false);
- TutorialStarted = false;
- Started = false;
- Won = false;
- }
- public void OnCredits () {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Credits.SetActive (true);
- About.SetActive (false);
- Started = false;
- }
- public void OnAbout() {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (true);
- Started = false;
- }
- public void OnRetry () {
- SceneManager.LoadScene (1);
- }
- public void OnCreditsEnd () {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (false);
- Fail.SetActive (false);
- Win.SetActive (false);
- CreditsEnd.SetActive (true);
- Started = false;
- }
- public void OnPause () {
- if (Paused == false) {
- Time.timeScale = 0;
- Pause.SetActive (true);
- Paused = true;
- } else if (Paused == true) {
- Time.timeScale = 1;
- Pause.SetActive (false);
- Paused = false;
- }
- }
- //Controls the back button on the end game screen
- public void OnBack() {
- if (!Won) {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Fail.SetActive (true);
- Win.SetActive (false);
- Credits.SetActive (false);
- About.SetActive (false);
- CreditsEnd.SetActive (false);
- TutorialStarted = false;
- Started = false;
- }
- if (Won) {
- Title.SetActive (false);
- MainMenu.SetActive (false);
- Fail.SetActive (false);
- Win.SetActive (true);
- Credits.SetActive (false);
- CreditsEnd.SetActive (false);
- About.SetActive (false);
- TutorialStarted = false;
- Started = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement