76 lines
2.1 KiB
C#
76 lines
2.1 KiB
C#
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<GameObject> Players = new List<GameObject>();
|
|
|
|
public static Action<GameObject[]> 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<HealthComponent>().TakeDamage(69420);
|
|
// }
|
|
// }
|
|
|
|
// var g = who.GetComponent<HealthComponent>();
|
|
// // 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<ParticleSystem>();
|
|
// ps.Play();
|
|
|
|
// go.AddComponent<DestroyAfter>().Init(5f);
|
|
// }
|
|
//}
|
|
|
|
}
|