using System.Collections; using System.Collections.Generic; using System; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public static GameManager Instance { get; private set; } public List Players = new List(); public static Action OnPlayersReady; void Awake() { if (Instance != null) { Destroy(Instance); } Instance = this; StartCoroutine(WaitForPlayers()); } private IEnumerator WaitForPlayers() { yield return new WaitUntil(()=>Players.Count == 2); OnPlayersReady?.Invoke(Players.ToArray()); } //public void playerDied(GameObject who) //{ // Debug.Log($"{who.name} died"); // if (Revives == 0) // { // AudioManager.Instance.StopAllAudio(); // AudioManager.PlaySound("Game_Over_Jingle", Vector3.zero); // SceneManager.LoadScene(3); // } // else // { // Revives--; // ReviveText.text = Revives + "x"; // Collider2D[] d = Physics2D.OverlapCircleAll(who.transform.position, 3f); // Debug.Log(d); // foreach (Collider2D c in d) // { // if (c.gameObject.CompareTag("Enemy")) // { // c.gameObject.GetComponent().TakeDamage(69420); // } // } // var g = who.GetComponent(); // // heal // g.setMaxHealth(g.getMaxHealth(), true); // g.resetKillFlag(); // // REVIVE SOUND HERE // AudioManager.PlaySound("Revive_SFX", who.transform.position); // RumbleManager.StartRumble(0, 0.3f, 0.1f, 3f); // RumbleManager.StartRumble(1, 0.3f, 0.1f, 3f); // GameObject go = Instantiate(ReviveParticleSystem, who.transform.position, Quaternion.identity); // ParticleSystem ps = go.GetComponent(); // ps.Play(); // go.AddComponent().Init(5f); // } //} }