50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class UIManager : MonoBehaviour
|
|
{
|
|
public GameObject damageTextPrefab;
|
|
public GameObject healthPrefab;
|
|
|
|
public Canvas gameCanvas;
|
|
|
|
private void Awake()
|
|
{
|
|
gameCanvas = FindAnyObjectByType<Canvas>();
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
CharacterEvents.characterDamaged += CharacterTookDamage;
|
|
CharacterEvents.characterHealed += CharacterHealed;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
CharacterEvents.characterDamaged -= CharacterTookDamage;
|
|
CharacterEvents.characterHealed -= CharacterHealed;
|
|
}
|
|
|
|
public void CharacterTookDamage(GameObject character, int damageReceived)
|
|
{
|
|
// create text at character hit
|
|
Vector3 spamPosition = Camera.main.WorldToScreenPoint(character.transform.position);
|
|
|
|
TMP_Text tmpText = Instantiate(damageTextPrefab, spamPosition, Quaternion.identity, gameCanvas.transform).GetComponent<TMP_Text>();
|
|
|
|
tmpText.text = damageReceived.ToString();
|
|
}
|
|
|
|
public void CharacterHealed(GameObject character, int healthRestored)
|
|
{
|
|
// create text at character healed
|
|
Vector3 spamPosition = Camera.main.WorldToScreenPoint(character.transform.position);
|
|
|
|
TMP_Text tmpText = Instantiate(healthPrefab, spamPosition, Quaternion.identity, gameCanvas.transform).GetComponent<TMP_Text>();
|
|
|
|
tmpText.text = healthRestored.ToString();
|
|
}
|
|
}
|