39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class HealthBar : MonoBehaviour{
|
|
|
|
public int maxHp;
|
|
[HideInInspector] public float hp;
|
|
public Image healthBar;
|
|
public Image timer;
|
|
[HideInInspector] public float time;
|
|
GameController gameController;
|
|
|
|
// Start is called before the first frame update
|
|
void Start(){
|
|
gameController = FindObjectOfType<GameController>();
|
|
hp = maxHp;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update(){
|
|
if (gameController.ready){
|
|
timer.transform.localScale = new Vector2(time, timer.transform.localScale.y);
|
|
time = Mathf.Clamp(time + Time.deltaTime / 30, 0f, 1f);
|
|
}else{
|
|
timer.transform.localScale = new Vector2(0, timer.transform.localScale.y);
|
|
}
|
|
}
|
|
|
|
public void TakeDamage(float damage){
|
|
hp -= damage;
|
|
if(hp > 0 && hp > damage){
|
|
healthBar.transform.localScale = new Vector2(hp / maxHp, healthBar.transform.localScale.y);
|
|
}else if(hp < damage){
|
|
healthBar.transform.localScale = new Vector2(0, healthBar.transform.localScale.y);
|
|
}
|
|
}
|
|
}
|