| | |
| | | using System.Collections.Generic; |
| | | using TMPro; |
| | | using UnityEngine; |
| | | using UnityEngine.InputSystem; |
| | | using UnityEngine.SceneManagement; |
| | | |
| | | public class UIManager : MonoBehaviour |
| | | { |
| | |
| | | |
| | | 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 text at character hit |
| | | // 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>(); |
| | |
| | | } |
| | | public void CharacterHealed(GameObject character, int healthRestored) |
| | | { |
| | | // Create text at character hit |
| | | // 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) |
| | | { |
| | | if (context.started) |
| | | { |
| | | #if (UNITY_EDITOR || DEVELOPMENT_BUILD) |
| | | Debug.Log(this.name + ": " + this.GetType() + ": " + System.Reflection.MethodBase.GetCurrentMethod().Name); |
| | | #endif |
| | | #if (UNITY_EDITOR) |
| | | UnityEditor.EditorApplication.isPlaying = false; |
| | | #elif (UNITY_STANDALONE) |
| | | Application.Quit(); |
| | | #elif (UNITY_WEBGL) |
| | | // NOT WORKING |
| | | // Need to add new scene "QuitScene" |
| | | // change camera to solid color "black" |
| | | // add scene to build settings |
| | | // SceneManager.LoadScene("QuitScene"); |
| | | #endif |
| | | } |
| | | } |
| | | } |