Advertisement
l3enjamin

CyberSiege VR - GUIManager.cs

May 8th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.67 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5.  
  6. public class GUIManager : MonoBehaviour {
  7.  
  8.     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;
  9.     public GameObject[] Minions, Enemy, TowerCleanup, Energy, RangedEnemies, CarriedEnergy, Enemies, Mins;
  10.     public bool Started, TutorialStarted, MinionRecaller, TutorialPathOne, TutorialPathTwo, TutorialPathThree, TutorialPathGame, TurnedEnemiesOn, DeadMusicPlaying, Spawned, Paused, GameEnded, TurnedMinionsOn, TutorialTurnedEnemiesOn, ResultsFinished, OnTitleUp, Won, EndSequenceFinished;
  11.    
  12.     void Start () {
  13.         FinalGate = GameObject.FindGameObjectWithTag("FinalGate");
  14.         Title = transform.Find ("Title").gameObject;
  15.         MainMenu = transform.Find ("Menu").gameObject;
  16.         Pause = transform.Find ("Pause").gameObject;
  17.         Credits = transform.Find ("Credits").gameObject;
  18.         About = transform.Find ("About").gameObject;
  19.         CreditsEnd = transform.Find ("CreditsEnd").gameObject;
  20.         Fail = transform.Find ("ResultFail").gameObject;
  21.         Loading = transform.Find ("LoadingWindow").gameObject;
  22.         Win = transform.Find ("ResultWin").gameObject;
  23.         Cannon = GameObject.FindGameObjectWithTag ("Cannon");
  24.         CannonPanel = GameObject.FindGameObjectWithTag ("CannonPanel");
  25.         AmmoCounter = GameObject.FindGameObjectWithTag ("Ammo");
  26.         ControlPanel = GameObject.FindGameObjectWithTag ("ControlPanel");
  27.         KillCounter = GameObject.FindGameObjectWithTag ("Killcounterpanel");
  28.         MinionCounter = GameObject.FindGameObjectWithTag ("MinionCounter");
  29.         Platform = transform.parent.gameObject;
  30.         GUIPlayer = GameObject.FindGameObjectWithTag ("Player");
  31.         SpawnOne = transform.Find ("SpawnOne").gameObject;
  32.         SpawnTwo = transform.Find ("SpawnTwo").gameObject;
  33.         SpawnThree = transform.Find ("SpawnThree").gameObject;
  34.         SpawnFour = transform.Find ("SpawnFour").gameObject;
  35.         SpawnFive = transform.Find ("SpawnFive").gameObject;
  36.         SpawnSix = transform.Find ("SpawnSix").gameObject;
  37.         SpawnSeven = transform.Find ("SpawnSeven").gameObject;
  38.         SpawnEight = transform.Find ("SpawnEight").gameObject;
  39.         Title.SetActive (false);
  40.         OnTitleUp = false;
  41.         Loading.SetActive (true);
  42.         MainMenu.SetActive (false);
  43.         Credits.SetActive (false);
  44.         About.SetActive (false);
  45.         Win.SetActive (false);
  46.         Fail.SetActive (false);
  47.         CreditsEnd.SetActive (false);
  48.         Started = false;
  49.     }
  50.  
  51.     void Update () {
  52.         //Checking if the final gate has been destroyed
  53.         if (FinalGate != null) {
  54.             if (FinalGate.GetComponent<GateHealth> ().HP <= 0f) {
  55.                 if (!EndSequenceFinished) {
  56.                     GameEnded = true;
  57.                     OnResultsWin ();
  58.                     MinionRecaller = false;
  59.                     TowerCleanup = GameObject.FindGameObjectsWithTag ("TowerBobbleTarget");
  60.                     foreach (GameObject t in TowerCleanup) {
  61.                         Destroy (t.transform.parent.gameObject);
  62.                     }
  63.                     GUIPlayer.GetComponent<PlayerStats> ().Health = 50f;
  64.                     Enemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
  65.                     foreach (GameObject e in Enemies) {
  66.                         Destroy (e);
  67.                     }
  68.                     EndSequenceFinished = true;
  69.                 }
  70.             }
  71.         }
  72.         //Controls the transition from the splash screen to the main menu screen
  73.         if (OnTitleUp && Left.GetComponent<TriggerHeld> ().Held || OnTitleUp && Right.GetComponent<TriggerHeld> ().Held) {
  74.             OnMenu ();
  75.             OnTitleUp = false;
  76.         }
  77.         //Checks if the player dies
  78.         if (GUIPlayer.GetComponent<PlayerStats> ().Health <= 0f) {
  79.             if (!ResultsFinished) {
  80.                 OnResultsFail ();
  81.                 Mins = GameObject.FindGameObjectsWithTag ("Minion");
  82.                 foreach (GameObject m in Mins) {
  83.                     Destroy (m.gameObject);
  84.                 }
  85.                 Platform.GetComponent<MoveOnPath> ().enabled = false;
  86.                 MinionRecaller = false;
  87.                 ResultsFinished = true;
  88.             }
  89.         }
  90.         //If the game isn't started and the tutorial isn't started
  91.         if (Started == false && TutorialStarted == false) {
  92.             //If the player dies
  93.             if (EndSequenceFinished) {
  94.                 Minions = GameObject.FindGameObjectsWithTag ("Minion");
  95.                 if (Minions != null) {
  96.                     foreach (GameObject minion in Minions) {
  97.                         minion.GetComponent<Minion> ().enabled = false;
  98.                         if (minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> () != null) {
  99.                             minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
  100.                         }
  101.                     }
  102.                 }
  103.             }
  104.             //Disables all enemy movement and actions
  105.             Enemy = GameObject.FindGameObjectsWithTag ("Enemy");
  106.             foreach (GameObject ene in Enemy) {
  107.                 if (ene.GetComponent<EnemyMeleeMinion> () != null) {
  108.                     ene.GetComponent<EnemyMeleeMinion> ().enabled = false;
  109.                     ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
  110.                 }
  111.                 if (ene.GetComponent<EnemyMeleePlayer> () != null) {
  112.                     ene.GetComponent<EnemyMeleePlayer> ().enabled = false;
  113.                     ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = false;
  114.                 }
  115.             }
  116.             RangedEnemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
  117.             foreach (GameObject enem in RangedEnemies) {
  118.                 if (enem.GetComponent<EnemyRangedMinion> () != null) {
  119.                     enem.GetComponent<EnemyRangedMinion> ().enabled = false;
  120.                 }
  121.                 if (enem.GetComponent<EnemyRangedPlayer> () != null) {
  122.                     enem.GetComponent<EnemyRangedPlayer> ().enabled = false;
  123.                 }
  124.             }
  125.             //Disables all energy movement
  126.             Energy = GameObject.FindGameObjectsWithTag ("Upgrade");
  127.             if (Energy != null) {
  128.                 foreach (GameObject up in Energy) {
  129.                     up.GetComponent<RockGroupMove> ().enabled = false;
  130.                 }
  131.             }
  132.             CarriedEnergy = GameObject.FindGameObjectsWithTag ("CarriedUpgrade");
  133.             if (CarriedEnergy != null) {
  134.                 foreach (GameObject upo in CarriedEnergy) {
  135.                     upo.GetComponent<RockGroupMove> ().enabled = false;
  136.                 }
  137.             }
  138.             //Disables the player control panels
  139.             ControlPanel.SetActive (false);
  140.             KillCounter.SetActive (false);
  141.             CannonPanel.SetActive (false);
  142.             AmmoCounter.SetActive (false);
  143.             if (MinionRecaller == false) {
  144.                 Platform.GetComponent<MinionRecaller> ().enabled = false;
  145.                 MinionRecaller = true;
  146.             }  
  147.             //Disables player controller reticles and beams
  148.             Right.GetComponent<PlayerShoot> ().enabled = false;
  149.             Left.GetComponent<DirectMinions> ().enabled = false;
  150.             Right.GetComponent<PlayerShoot> ().Beam.SetActive (false);
  151.             Left.GetComponent<DirectMinions> ().Beam.SetActive (false);
  152.             Cannon.GetComponent<Cannon> ().BeamOne.SetActive (false);
  153.             Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (false);
  154.         }
  155.         //If the game is started and the tutorial isn't started
  156.         if (Started == true && TutorialStarted == false) {
  157.             //Enables player control panels
  158.             ControlPanel.SetActive (true);
  159.             KillCounter.SetActive (true);
  160.             CannonPanel.SetActive (true);
  161.             AmmoCounter.SetActive (true);
  162.             //Gives the player 8 minions to start the game with
  163.             if (Spawned == false) {
  164.                 Instantiate (Minion, SpawnOne.transform.position, transform.rotation);
  165.                 Instantiate (Minion, SpawnTwo.transform.position, transform.rotation);
  166.                 Instantiate (Minion, SpawnThree.transform.position, transform.rotation);
  167.                 Instantiate (Minion, SpawnFour.transform.position, transform.rotation);
  168.                 Instantiate (Minion, SpawnFive.transform.position, transform.rotation);
  169.                 Instantiate (Minion, SpawnSix.transform.position, transform.rotation);
  170.                 Instantiate (Minion, SpawnSeven.transform.position, transform.rotation);
  171.                 Instantiate (Minion, SpawnEight.transform.position, transform.rotation);
  172.                 Spawned = true;
  173.             }
  174.             //Turns all minions on
  175.             if (TurnedMinionsOn == false) {
  176.                 Minions = GameObject.FindGameObjectsWithTag ("Minion");
  177.                 foreach (GameObject minion in Minions) {
  178.                     minion.GetComponent<Minion> ().enabled = true;
  179.                     minion.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
  180.                 }
  181.                 TurnedMinionsOn = true;
  182.             }
  183.             //Turns all enemies on
  184.             if (TurnedEnemiesOn == false) {
  185.                 Enemy = GameObject.FindGameObjectsWithTag ("Enemy");
  186.                 foreach (GameObject ene in Enemy) {
  187.                     if (ene.GetComponent<EnemyMeleeMinion> () != null) {
  188.                         ene.GetComponent<EnemyMeleeMinion> ().enabled = true;
  189.                         ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
  190.                     }
  191.                     if (ene.GetComponent<EnemyMeleePlayer> () != null) {
  192.                         ene.GetComponent<EnemyMeleePlayer> ().enabled = true;
  193.                         ene.transform.Find ("Weapon").gameObject.GetComponent<SphereCollider> ().enabled = true;
  194.                     }
  195.                 }
  196.                 RangedEnemies = GameObject.FindGameObjectsWithTag ("RangedEnemy");
  197.                 foreach (GameObject enem in RangedEnemies) {
  198.                     if (enem.GetComponent<EnemyRangedMinion> () != null) {
  199.                         enem.GetComponent<EnemyRangedMinion> ().enabled = true;
  200.                     }
  201.                     if (enem.GetComponent<EnemyRangedPlayer> () != null) {
  202.                         enem.GetComponent<EnemyRangedPlayer> ().enabled = true;
  203.                     }
  204.                 }
  205.                 //Turns the player's beams and reticles on
  206.                 Right.GetComponent<PlayerShoot> ().Beam.SetActive (true);
  207.                 Left.GetComponent<DirectMinions> ().Beam.SetActive (true);
  208.                 Cannon.GetComponent<Cannon> ().BeamOne.SetActive (true);
  209.                 Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (true);
  210.                 TurnedEnemiesOn = true;
  211.             }
  212.             //Enables the player's controls and the platform scripts
  213.             Platform.GetComponent<MoveOnPath> ().enabled = true;
  214.             Platform.GetComponent<MinionRecaller> ().enabled = true;
  215.             Right.GetComponent<PlayerShoot> ().enabled = true;
  216.             Left.GetComponent<DirectMinions> ().enabled = true;
  217.         }
  218.         //Enables the beams and reticles in the tutorial
  219.         if (TutorialStarted) {
  220.             if (!TutorialTurnedEnemiesOn) {
  221.                 Right.GetComponent<PlayerShoot> ().Beam.SetActive (true);
  222.                 Left.GetComponent<DirectMinions> ().Beam.SetActive (true);
  223.                 Cannon.GetComponent<Cannon> ().BeamOne.SetActive (true);
  224.                 Cannon.GetComponent<Cannon> ().BeamTwo.SetActive (true);
  225.                 TutorialTurnedEnemiesOn = true;
  226.             }
  227.         }
  228.     }
  229.     public void OnMenu () {
  230.         Title.SetActive (false);
  231.         MainMenu.SetActive (true);
  232.         Credits.SetActive (false);
  233.         About.SetActive (false);
  234.         Started = false;
  235.     }
  236.     public void OnPlay() {
  237.         Title.SetActive (false);
  238.         MainMenu.SetActive (false);
  239.         Credits.SetActive (false);
  240.         About.SetActive (false);
  241.         TutorialStarted = false;
  242.         Platform.GetComponent<MoveOnPath> ().PathToFollow = Platform.GetComponent<SwitchPath> ().WayOne.GetComponent<EditorPathing>();
  243.         Started = true;
  244.     }
  245.     public void OnTutorial() {
  246.         Title.SetActive (false);
  247.         MainMenu.SetActive (false);
  248.         Credits.SetActive (false);
  249.         About.SetActive (false);
  250.         TutorialStarted = true;
  251.         TutorialPathOne = true;
  252.         Started = false;
  253.     }
  254.     public void OnResultsWin() {
  255.         Title.SetActive (false);
  256.         MainMenu.SetActive (false);
  257.         Win.SetActive (true);
  258.         Credits.SetActive (false);
  259.         About.SetActive (false);
  260.         TutorialStarted = false;
  261.         Started = false;
  262.         Won = true;
  263.     }
  264.     public void OnResultsFail() {
  265.         Title.SetActive (false);
  266.         MainMenu.SetActive (false);
  267.         Fail.SetActive (true);
  268.         Credits.SetActive (false);
  269.         About.SetActive (false);
  270.         TutorialStarted = false;
  271.         Started = false;
  272.         Won = false;
  273.     }
  274.     public void OnCredits () {
  275.         Title.SetActive (false);
  276.         MainMenu.SetActive (false);
  277.         Credits.SetActive (true);
  278.         About.SetActive (false);
  279.         Started = false;
  280.     }
  281.     public void OnAbout() {
  282.         Title.SetActive (false);
  283.         MainMenu.SetActive (false);
  284.         Credits.SetActive (false);
  285.         About.SetActive (true);
  286.         Started = false;
  287.     }
  288.     public void OnRetry () {
  289.         SceneManager.LoadScene (1);
  290.        
  291.     }
  292.     public void OnCreditsEnd () {
  293.         Title.SetActive (false);
  294.         MainMenu.SetActive (false);
  295.         Credits.SetActive (false);
  296.         About.SetActive (false);
  297.         Fail.SetActive (false);
  298.         Win.SetActive (false);
  299.         CreditsEnd.SetActive (true);
  300.         Started = false;
  301.     }
  302.     public void OnPause () {
  303.         if (Paused == false) {
  304.             Time.timeScale = 0;
  305.             Pause.SetActive (true);
  306.             Paused = true;
  307.         } else if (Paused == true) {
  308.             Time.timeScale = 1;
  309.             Pause.SetActive (false);
  310.             Paused = false;
  311.         }
  312.     }
  313.  
  314.     //Controls the back button on the end game screen
  315.     public void OnBack() {
  316.         if (!Won) {
  317.             Title.SetActive (false);
  318.             MainMenu.SetActive (false);
  319.             Fail.SetActive (true);
  320.             Win.SetActive (false);
  321.             Credits.SetActive (false);
  322.             About.SetActive (false);
  323.             CreditsEnd.SetActive (false);
  324.             TutorialStarted = false;
  325.             Started = false;
  326.         }
  327.         if (Won) {
  328.             Title.SetActive (false);
  329.             MainMenu.SetActive (false);
  330.             Fail.SetActive (false);
  331.             Win.SetActive (true);
  332.             Credits.SetActive (false);
  333.             CreditsEnd.SetActive (false);
  334.             About.SetActive (false);
  335.             TutorialStarted = false;
  336.             Started = false;
  337.         }
  338.     }
  339. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement