Advertisement
l3enjamin

Chip's Tunes - GameManager.cs

May 8th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.46 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.SceneManagement;
  4. using System.Collections.Generic;
  5.  
  6. public class GameManager : MonoBehaviour {
  7.  
  8.     public int Multiplier = 0;
  9.     public int Streak = 0;
  10.     public GameObject PauseScreen;
  11.     public HNote[] AllNotes;
  12.     public AudioSource PauseSFX, ComboSFX1, ComboSFX2, ComboSFX3, Murmer, ScorePlayedSFX1, ScorePlayedSFX2, ScorePlayedSFX3, ScorePlayedSFX4, ScorePlayedSFX5, LoseSFX, FailSFX;
  13.     public GameObject RedAct, GreenAct, BlueAct, YellowAct, Black;
  14.     public bool Lost;
  15.     public bool SoundPlayed1, SoundPlayed2, SoundPlayed3, ScorePlayed1, ScorePlayed2, ScorePlayed3, ScorePlayed4, ScorePlayed5;
  16.     public Animator CrowdAnim, SpeakerAnim1, SpeakerAnim2, SpeakerAnim3, SpeakerAnim4;
  17.     public Texture2D CursorTexture;
  18.     public CursorMode Mode;
  19.     public bool AnimPlayed1, AnimPlayed2, AnimPlayed3, AnimPlayed4, AnimPlayed5, AnimPlayed6, AnimPlayed7, AnimPlayed8, AnimPlayed9, AnimPlayed10, AnimPlayed11, AnimPlayed12, AnimPlayed13, AnimPlayed14, AnimPlayed15, AnimPlayed16, AnimPlayed17, AnimPlayed18, AnimPlayed19, AnimPlayed20;
  20.     public Animation PointEnlarge;
  21.  
  22.     void Start () {
  23.         //Turn off mouse cursor to prepare for custom cursor
  24.         Cursor.visible = false;
  25.         //Reset all saved values except highscore
  26.         PlayerPrefs.SetInt ("Score", 0);
  27.         PlayerPrefs.SetInt ("Inv", 0);
  28.         PlayerPrefs.SetInt ("RockMeter", 25);
  29.         PlayerPrefs.SetInt ("Streak", 0);
  30.         PlayerPrefs.SetInt ("HighStreak", 0);
  31.         PlayerPrefs.SetInt ("Mult", 0);
  32.         PlayerPrefs.SetInt ("NotesHit", 0);
  33.         PlayerPrefs.SetInt ("Total", 0);
  34.         //Start game
  35.         Invoke ("StartMusic", 4f);
  36.         //Start the crowd murmers
  37.         Murmer.Play ();
  38.         //Find all notes in the scene
  39.         AllNotes = GameObject.FindObjectsOfType<HNote> ();
  40.         //Find the crowd and speaker animators
  41.         CrowdAnim = GameObject.Find ("Crowd").GetComponent<Animator> ();
  42.         SpeakerAnim1 = GameObject.Find ("Speaker1").GetComponent<Animator> ();
  43.         SpeakerAnim2 = GameObject.Find ("Speaker2").GetComponent<Animator> ();
  44.         SpeakerAnim3 = GameObject.Find ("Speaker3").GetComponent<Animator> ();
  45.         SpeakerAnim4 = GameObject.Find ("Speaker4").GetComponent<Animator> ();
  46.     }
  47.  
  48.     void Update () {
  49.         //Pause game
  50.         if (Input.GetKeyDown (KeyCode.P)) {
  51.             OnPause ();
  52.         }
  53.         //Check various conditions to play sounds and animations
  54.         SoundPlay ();
  55.         ScoreSound ();
  56.         ScoreScale ();
  57.     }
  58.  
  59.     //Calculates the multiplier and keeps track of the streak number
  60.     public void AddStreak () {
  61.         if (PlayerPrefs.GetInt ("RockMeter") + 1 < 50)
  62.             PlayerPrefs.SetInt ("RockMeter", PlayerPrefs.GetInt ("RockMeter") + 1);
  63.         Streak++;
  64.         if (Streak >= 101) {
  65.             Multiplier = 5;
  66.         } else if (Streak >= 51) {
  67.             Multiplier = 4;
  68.         } else if (Streak >= 26) {
  69.             Multiplier = 3;
  70.         } else if (Streak >= 11) {
  71.             Multiplier = 2;
  72.         } else
  73.             Multiplier = 1;
  74.         if (Streak > PlayerPrefs.GetInt ("HighStreak")) {
  75.             PlayerPrefs.SetInt ("HighStreak", Streak);
  76.         }
  77.         PlayerPrefs.SetInt ("NotesHit", PlayerPrefs.GetInt ("NotesHit")+1);
  78.         PlayerPrefs.SetInt ("Total", PlayerPrefs.GetInt ("Total")+1);
  79.         UpdateGUI ();
  80.     }
  81.  
  82.     //Resets the streak count and all sound/animation bools so they can be played again
  83.     public void ResetStreak () {
  84.         if (Lost == false) {
  85.             PlayerPrefs.SetInt ("RockMeter", PlayerPrefs.GetInt ("RockMeter") - 3);
  86.             if (PlayerPrefs.GetInt ("RockMeter") < 0) {
  87.                 LoseH ();
  88.             }
  89.             Streak = 0;
  90.             Multiplier = 1;
  91.             AnimPlayed1 = false;
  92.             AnimPlayed2 = false;
  93.             AnimPlayed3 = false;
  94.             AnimPlayed4 = false;
  95.             AnimPlayed5 = false;
  96.             AnimPlayed6= false;
  97.             AnimPlayed7 = false;
  98.             AnimPlayed8 = false;
  99.             AnimPlayed9 = false;
  100.             AnimPlayed10 = false;
  101.             AnimPlayed11 = false;
  102.             AnimPlayed12 = false;
  103.             AnimPlayed13 = false;
  104.             AnimPlayed14 = false;
  105.             AnimPlayed15 = false;
  106.             AnimPlayed16 = false;
  107.             AnimPlayed17 = false;
  108.             AnimPlayed18 = false;
  109.             AnimPlayed19 = false;
  110.             AnimPlayed20 = false;
  111.             SoundPlayed1 = (false);
  112.             SoundPlayed2 = (false);
  113.             SoundPlayed3 = (false);
  114.             UpdateGUI ();
  115.         }
  116.     }
  117.  
  118.     //Plays the fail sound if the player's streak is over 25
  119.     public void MissNote () {
  120.         PlayerPrefs.SetInt ("Total", PlayerPrefs.GetInt ("Total") + 2);
  121.         if (Streak > 25) {
  122.             FailSFX.Play ();
  123.         }
  124.     }
  125.  
  126.     //Lose function
  127.     void LoseH () {
  128.         Lost = true;
  129.         PlayerPrefs.SetInt ("Start",0);
  130.         GameObject.Find("MusicManager").GetComponent<AudioSource>().Stop();
  131.         LoseSFX.Play ();
  132.         CrowdAnim.StopPlayback ();
  133.         GameObject.Find ("MusicManager").GetComponent<MusicManager> ().Called = false;
  134.         SpeakerAnim1.StopPlayback ();
  135.         SpeakerAnim2.StopPlayback ();
  136.         SpeakerAnim3.StopPlayback ();
  137.         SpeakerAnim4.StopPlayback ();
  138.         RedAct.GetComponent<Activator>().enabled = false;
  139.         GreenAct.GetComponent<Activator>().enabled = false;
  140.         BlueAct.GetComponent<Activator>().enabled = false;
  141.         YellowAct.GetComponent<Activator>().enabled = false;
  142.         foreach(HNote H in AllNotes) {
  143.             H.speed = 0;
  144.             if (H.Green != null) {
  145.                 H.Green.StopPlayback ();
  146.             }
  147.             if (H.Blue != null) {
  148.                 H.Blue.StopPlayback ();
  149.             }
  150.             if (H.Red != null) {
  151.                 H.Red.StopPlayback ();
  152.             }
  153.             if (H.Yellow != null) {
  154.                 H.Yellow.StopPlayback ();
  155.             }
  156.         }
  157.         Invoke ("Reload", 2);
  158.     }
  159.  
  160.     //Win function
  161.     public void Win () {
  162.         PlayerPrefs.SetInt ("Start",0);
  163.         Cursor.visible = true;
  164.         if(PlayerPrefs.GetInt("HighScore") < PlayerPrefs.GetInt("Score")) {
  165.             PlayerPrefs.SetInt("HighScore",PlayerPrefs.GetInt("Score"));
  166.         }
  167.         SceneManager.LoadScene (4);
  168.     }
  169.  
  170.     //Pause function
  171.     public void OnPause () {
  172.         PauseSFX.Play ();
  173.         if (Time.timeScale < 1) {
  174.             Time.timeScale = 1;
  175.             Cursor.visible = false;
  176.             PauseScreen.SetActive (false);
  177.         } else {
  178.             Time.timeScale = 0;
  179.             Cursor.SetCursor(CursorTexture, new Vector2 (25,25), Mode);
  180.             Cursor.visible = true;
  181.             PauseScreen.SetActive (true);
  182.         }
  183.     }
  184.        
  185.     void UpdateGUI () {
  186.         PlayerPrefs.SetInt ("Streak", Streak);
  187.         PlayerPrefs.SetInt ("Mult", Multiplier);
  188.     }
  189.        
  190.     public int GetScore () {
  191.         return 1 * Multiplier;
  192.     }
  193.  
  194.     //Retry function
  195.     void Reload () {
  196.         Cursor.visible = true;
  197.         SceneManager.LoadScene (3);
  198.     }
  199.  
  200.     //This is where the combo sounds are called
  201.     void SoundPlay () {
  202.         if (Multiplier == 3 && SoundPlayed1 == false) {
  203.             ComboSFX1.Play ();
  204.             SoundPlayed1 = (true);
  205.         }
  206.         if (Multiplier == 4 && SoundPlayed2 == false) {
  207.             ComboSFX2.Play ();
  208.             SoundPlayed2 = (true);
  209.         }
  210.         if (Multiplier == 5 && SoundPlayed3 == false) {
  211.             ComboSFX3.Play ();
  212.             SoundPlayed3 = (true);
  213.         }
  214.     }
  215.  
  216.     //This is where the total score sounds are called
  217.     void ScoreSound () {
  218.         if (PlayerPrefs.GetInt ("Score")== 50 && ScorePlayed1 == false) {
  219.             ScorePlayedSFX1.Play ();
  220.             ScorePlayed1 = (true);
  221.         }
  222.         if (PlayerPrefs.GetInt ("Score")== 100 && ScorePlayed2 == false) {
  223.             ScorePlayedSFX2.Play ();
  224.             ScorePlayed2 = (true);
  225.         }
  226.         if (PlayerPrefs.GetInt ("Score")== 250 && ScorePlayed3 == false) {
  227.             ScorePlayedSFX3.Play ();
  228.             ScorePlayed3 = (true);
  229.         }
  230.         if (PlayerPrefs.GetInt ("Score")== 500 && ScorePlayed4 == false) {
  231.             ScorePlayedSFX4.Play ();
  232.             ScorePlayed4 = (true);
  233.         }
  234.         if (PlayerPrefs.GetInt ("Score")== 1000 && ScorePlayed5 == false) {
  235.             ScorePlayedSFX5.Play ();
  236.             ScorePlayed5 = (true);
  237.         }
  238.     }
  239.  
  240.     //Function to start music
  241.     public void StartMusic () {
  242.         PlayerPrefs.SetInt ("Start", 1);
  243.     }
  244.  
  245.     //Controls all the possible streak animations
  246.     public void ScoreScale () {
  247.         if (Streak == 10 && AnimPlayed1 == false) {
  248.             PointEnlarge.Play ("Streak");
  249.             AnimPlayed1 = true;
  250.         }
  251.         if (Streak == 20 && AnimPlayed2 == false) {
  252.             PointEnlarge.Play ("Streak");
  253.             AnimPlayed2 = true;
  254.         }
  255.         if (Streak == 30 && AnimPlayed3 == false) {
  256.             PointEnlarge.Play ("Streak");
  257.             AnimPlayed3 = true;
  258.         }
  259.         if (Streak == 40 && AnimPlayed4 == false) {
  260.             PointEnlarge.Play ("Streak");
  261.             AnimPlayed4 = true;
  262.         }
  263.         if (Streak == 50 && AnimPlayed5 == false) {
  264.             PointEnlarge.Play ("Streak");
  265.             AnimPlayed5 = true;
  266.         }
  267.         if (Streak == 60 && AnimPlayed6 == false) {
  268.             PointEnlarge.Play ("Streak");
  269.             AnimPlayed6 = true;
  270.         }
  271.         if (Streak == 70 && AnimPlayed7 == false) {
  272.             PointEnlarge.Play ("Streak");
  273.             AnimPlayed7 = true;
  274.         }
  275.         if (Streak == 80 && AnimPlayed8 == false) {
  276.             PointEnlarge.Play ("Streak");
  277.             AnimPlayed8 = true;
  278.         }
  279.         if (Streak == 90 && AnimPlayed9 == false) {
  280.             PointEnlarge.Play ("Streak");
  281.             AnimPlayed9 = true;
  282.         }
  283.         if (Streak == 100 && AnimPlayed10 == false) {
  284.             PointEnlarge.Play ("Streak");
  285.             AnimPlayed10 = true;
  286.         }
  287.         if (Streak == 110 && AnimPlayed11 == false) {
  288.             PointEnlarge.Play ("Streak");
  289.             AnimPlayed11 = true;
  290.         }
  291.         if (Streak == 120 && AnimPlayed12 == false) {
  292.             PointEnlarge.Play ("Streak");
  293.             AnimPlayed12 = true;
  294.         }
  295.         if (Streak == 130 && AnimPlayed13 == false) {
  296.             PointEnlarge.Play ("Streak");
  297.             AnimPlayed13 = true;
  298.         }
  299.         if (Streak == 140 && AnimPlayed14 == false) {
  300.             PointEnlarge.Play ("Streak");
  301.             AnimPlayed14 = true;
  302.         }
  303.         if (Streak == 150 && AnimPlayed15 == false) {
  304.             PointEnlarge.Play ("Streak");
  305.             AnimPlayed15 = true;
  306.         }
  307.         if (Streak == 160 && AnimPlayed16 == false) {
  308.             PointEnlarge.Play ("Streak");
  309.             AnimPlayed16 = true;
  310.         }
  311.         if (Streak == 170 && AnimPlayed17 == false) {
  312.             PointEnlarge.Play ("Streak");
  313.             AnimPlayed17 = true;
  314.         }
  315.         if (Streak == 180 && AnimPlayed18 == false) {
  316.             PointEnlarge.Play ("Streak");
  317.             AnimPlayed18 = true;
  318.         }
  319.         if (Streak == 190 && AnimPlayed19 == false) {
  320.             PointEnlarge.Play ("Streak");
  321.             AnimPlayed19 = true;
  322.         }
  323.         if (Streak == 200 && AnimPlayed20 == false) {
  324.             PointEnlarge.Play ("Streak");
  325.             AnimPlayed20 = true;
  326.         }
  327.     }
  328. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement