fgm24/Assets/Scripts/Managers/GameManager.cs

96 lines
2.2 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 Action OnPlayerDied;
private string penisSuriveTime = "";
public int Revives { get; private set; }
public GameObject ReviveParticleSystem;
public TMPro.TextMeshProUGUI ReviveText;
void Awake()
{
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
Revives = 1;
ReviveText.text = Revives + "x";
}
else
{
Destroy(gameObject);
}
}
void Start()
{
}
public void playerDied(GameObject who)
{
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);
// 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);
ReviveParticleSystem.transform.position = who.transform.position;
ReviveParticleSystem.GetComponent<ParticleSystem>().Play();
}
}
public void AddRevive()
{
Revives++;
ReviveText.text = Revives + "x";
}
public void setTime(string t)
{
penisSuriveTime = t;
}
// Update is called once per frame
void Update()
{
}
}