// Use this for initialization void OnEnable() { GameObject bmGO = GameObject.FindWithTag("Music"); m_pBeatMaster = bmGO.GetComponent <BeatMaster>(); m_fSpeed = m_pBeatMaster.getDiscoPeteSpeedDependingOnMusic(); GameObject gmGO = GameObject.FindWithTag("GridMaster"); m_pGridMaster = gmGO.GetComponent <GridMaster>(); m_pGridMaster.SetDiscoPeteToStart(); m_pBeatMaster.beatEvent += BeatMasterOnBeatEvent; m_pBeatMaster.onJumpChancePassedEvent += BeatMasterOnJumpChancePassedEvent; m_pAnimator = GetComponent <Animator>(); m_pAnimator.SetFloat(JUMP_DURATION, m_fSpeed); m_pAnimator.SetFloat(SPEED, m_pBeatMaster.songInfo.Bps); GameObject lapGO = GameObject.FindWithTag("LevelAndPointMaster"); m_pLevelAndPointMaster = lapGO.GetComponent <LevelAndPointBehaviour>(); if (m_pLevelAndPointMaster == null) { Debug.Log("DiscoPeteBehaviour: LevelAndPointMaster not found!"); } }
protected override void OnEnable() { base.OnEnable(); GameObject lapGO = GameObject.FindWithTag("LevelAndPointMaster"); m_pLevelMaster = lapGO.GetComponent <LevelAndPointBehaviour>(); }
void Awake() { GameObject levelMasterGo = GameObject.FindWithTag("LevelAndPointMaster"); int score = 0; if (levelMasterGo) { LevelAndPointBehaviour levelMaster = levelMasterGo.GetComponent <LevelAndPointBehaviour>(); score = levelMaster.OverallPoints; Destroy(levelMasterGo); } bool newHighscore = false; int highscore; if (PlayerPrefs.HasKey("Highscore")) { highscore = PlayerPrefs.GetInt("Highscore"); if (highscore < score) { highscore = score; newHighscore = true; } } else { highscore = score; newHighscore = true; } if (newHighscore) { PlayerPrefs.SetInt("Highscore", highscore); PlayerPrefs.Save(); highscoreText.text = string.Format("New Highscore: {0}", highscore); } else { highscoreText.text = string.Format("Highscore: {0}", highscore); } }
IEnumerator handleSongEnd() { yield return(new WaitForSeconds(musicSource.clip.length + 2f)); GameObject[] emissiveObjects = GameObject.FindGameObjectsWithTag("Emissive"); GameObjectPriorityPair[] goPairs = new GameObjectPriorityPair[emissiveObjects.Length]; int numGroups = Mathf.Max(2, emissiveObjects.Length / 10); for (int i = 0; i < emissiveObjects.Length; ++i) { goPairs[i].go = emissiveObjects[i]; goPairs[i].priority = Random.Range(0, numGroups); } goPairs = goPairs.OrderBy(x => x.priority).ToArray(); int lastIndex = 0; for (int p = 0; p < numGroups; ++p) { for (int i = lastIndex; i < goPairs.Length; ++i) { lastIndex = i; if (goPairs[i].priority > p) { break; } Renderer[] renderers = goPairs[i].go.GetComponentsInChildren <Renderer>(); bool changeColor = !"SpotlightCone".Equals(goPairs[i].go.name); for (int r = 0; r < renderers.Length; ++r) { if (changeColor) { Material[] materials = renderers[r].materials; int matIndex = Mathf.Min(1, materials.Length - 1); materials[matIndex].SetColor("_Color", Color.black); materials[matIndex].SetColor("_EmissionColor", Color.black); } else { renderers[r].enabled = false; } } } if (deactivateLightsSound) { deactivateLightsSound.Play(); } if (p + 1 < numGroups) { yield return(new WaitForSeconds(0.8f)); } else { GameObject[] lightGos = GameObject.FindGameObjectsWithTag("Light"); for (int l = 0; l < lightGos.Length; ++l) { Light[] lights = lightGos[l].GetComponentsInChildren <Light>(); for (int ls = 0; ls < lights.Length; ++ls) { lights[ls].enabled = false; } } } } GameObject guiGO = GameObject.FindWithTag("LevelAndPointMaster"); LevelAndPointBehaviour levelMaster = guiGO.GetComponent <LevelAndPointBehaviour>(); levelMaster.DisplaySongOverMessage(); }