Пример #1
0
        public void Init()
        {
            value = transform.Find("Value").gameObject.GetComponent <Image>();

            if (healthable != null)
            {
                SetHealth(healthable.GetHealth());
            }
        }
Пример #2
0
    // 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();
    }
Пример #3
0
        public void SetHealthable(IHealthable target)
        {
            if (healthable != null)
            {
                healthable.OnHealthChange -= ChangeHeathBarValue;
            }

            healthable = target;
            healthable.OnHealthChange += ChangeHeathBarValue;
            SetHealth(healthable.GetHealth());
        }
Пример #4
0
        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);
            }
        }