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(); } 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(); 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(); tmpText.text = healthRestored.ToString(); } }