-
geraldabrhm authored17ea9123
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class PetHealth : MonoBehaviour
{
public int startingHealth = 100;
public int currentHealth;
public Slider healthSlider;
public AudioClip deathClip;
Animator anim;
AudioSource petAudio;
CanvasElementsManager canvasManager;
bool isDead;
bool damaged;
void Awake()
{
anim = GetComponent<Animator>();
petAudio = GetComponent<AudioSource>();
GameObject hudCanvas = GameObject.Find("HUDCanvas");
canvasManager = hudCanvas.GetComponent<CanvasElementsManager>();
currentHealth = startingHealth;
}
void Start()
{
canvasManager.setPetUIDisplayed(true);
}
void Update()
{
damaged = false;
}
public void TakeDamage(int amount)
{
damaged = true;
currentHealth -= amount;
healthSlider.value = currentHealth;
Debug.Log($"Pet Damaged, currentHealth = {currentHealth}");
petAudio.Play();
if (currentHealth <= 0 && !isDead)
{
Death();
}
}
void Death()
{
isDead = true;
petAudio.clip = deathClip;
petAudio.Play();
GameObject pet = GameObject.FindGameObjectWithTag("Pet");
Destroy(pet);
GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
if(enemies.Length > 0)
{
foreach(var enemy in enemies)
{
EnemyMovement enemyMovement = enemy.GetComponent<EnemyMovement>();
enemyMovement.petExist = false;
}
}
canvasManager.setPetUIDisplayed(false);
}
}