quakeball/Assets/Scripts/Interface/DeadScreen.cs

51 lines
1.5 KiB
C#
Raw Permalink Normal View History

2020-08-08 14:37:55 +02:00
using UnityEngine;
using UnityEngine.UI;
using TMPro;
namespace NeonTea.Quakeball.Interface {
public class DeadScreen : MonoBehaviour {
public Image Crosshair;
public GameObject Root;
public TMP_Text KilledText;
public TMP_Text RespawnText;
public bool Open = false;
public float LastUpdate;
public int seconds;
public void Start() {
Terminal.Singleton.RegisterCommand("dead", args => {
if (args.Length == 1) {
StartCountdown(args[0]);
return true;
}
Terminal.Singleton.Println("Need 1 argument for killer's name!");
return false;
}, "dead <name> - Starts the DeadScreen with given name as the killer's name.");
}
public void Update() {
Root.gameObject.SetActive(Open);
if (Crosshair != null) {
Crosshair.enabled = !Open;
}
if (seconds > 0 && Time.time - LastUpdate > 1) {
LastUpdate = Time.time;
seconds--;
string secondsText = (seconds > 0) ? seconds.ToString() : "";
RespawnText.text = $"Respawn in {secondsText}..";
}
}
public void StartCountdown(string killer) {
Open = true;
KilledText.text = $"Killed by {killer}";
LastUpdate = Time.time;
seconds = 3;
RespawnText.text = $"Respawn in {seconds}..";
}
}
}