public void Init() { value = transform.Find("Value").gameObject.GetComponent <Image>(); if (healthable != null) { SetHealth(healthable.GetHealth()); } }
// Update is called once per frame void Update() { //Debug.Log(healthable.GetHealth() + "; " + healthable.GetMaxHealth()); transform.localPosition = Camera.main.WorldToScreenPoint( healthable.GetPosition() + new Vector3(0, 10f, 0)) - new Vector3(Screen.width / 2, Screen.height / 2, 0); healthBar.transform.localScale = new Vector3((float)healthable.GetHealth() / (float)healthable.GetMaxHealth(), 1f, 1f); //healthText.text = healthable.GetHealth() + " / " + healthable.GetMaxHealth(); }
public void SetHealthable(IHealthable target) { if (healthable != null) { healthable.OnHealthChange -= ChangeHeathBarValue; } healthable = target; healthable.OnHealthChange += ChangeHeathBarValue; SetHealth(healthable.GetHealth()); }
private void SetHealth(object obj, EventArgs args) { if (!showed) { Show(); showed = true; } if (curElement == null) { return; } curElement.SetActive(true); healthImage.fillAmount = stats.GetHealth() / (float)stats.GetMaxHealth(); healthText.text = stats.GetHealth().ToString(); if (stats.GetHealth() <= 0) { this.enabled = false; Destroy(curElement); } }