miepzerino
2023-12-17 fb7b0a7977c7b861e0e4d97a65fb4a9c1717a0be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
 
public class UIManager : MonoBehaviour
{
    public GameObject damageTextPrefab;
    public GameObject healthTextPrefab;
    public Canvas gameCanvas;
 
 
    private void Awake()
    {
        gameCanvas = FindObjectOfType<Canvas>();
    }
 
    private void OnEnable()
    {
        // add listen events
        CharacterEvents.characterDamaged += (CharacterTookDamange);
        CharacterEvents.characterHealed += (CharacterHealed);
 
    }
 
    private void OnDisable()
    {
        // remove listen events
        CharacterEvents.characterDamaged -= (CharacterTookDamange);
        CharacterEvents.characterHealed -= (CharacterHealed);
    }
 
    public void CharacterTookDamange(GameObject character, int damageReceived)
    {
        // Create damage text at character
        Vector3 spawnPosition = Camera.main.WorldToScreenPoint(character.transform.position);
 
        TMP_Text tmpText = Instantiate(damageTextPrefab, spawnPosition, Quaternion.identity, gameCanvas.transform).GetComponent<TMP_Text>();
 
        tmpText.text = damageReceived.ToString();
 
    }
    public void CharacterHealed(GameObject character, int healthRestored)
    {
        // Create heal text at character
        Vector3 spawnPosition = Camera.main.WorldToScreenPoint(character.transform.position);
 
        TMP_Text tmpText = Instantiate(healthTextPrefab, spawnPosition, Quaternion.identity, gameCanvas.transform).GetComponent<TMP_Text>();
 
        tmpText.text = healthRestored.ToString();
 
    }
 
    public void OnExitGame(InputAction.CallbackContext context)
    {
        SceneManager.LoadScene("MainMenu");
    }
}