예제 #1
0
        public void ReceiveDamage(object sender, DamageEventArgs Damage)
        {
            if (DamageText != null)
            {
                if (this.GetComponentInChildren <Canvas>())
                {
                    GameObject newDamageText = Instantiate(DamageText, this.GetComponentInChildren <Canvas>().transform);
                    newDamageText.GetComponent <Text>().text = Damage.Damage.ToString();
                }
            }

            int DamageAmount = Damage.Damage;

            if (DamageAmount > CurrentBarrier)
            {
                DamageAmount -= CurrentBarrier;

                CurrentBarrier = 0;

                CurrentHealth -= DamageAmount;
            }

            else
            {
                CurrentBarrier -= DamageAmount;
            }

            if (CurrentHealth <= 0 && dyingEvent != null)
            {
                dyingEvent(this, new EventArgs());
            }
        }
예제 #2
0
 private void OnDamage(object src, DamageEventArgs args)
 {
     slider.DOValue(damageable.GetHealthPercentage, 1f);
     ghostSlider.DOValue(damageable.GetHealthPercentage, 1f).SetDelay(1f);
 }
 private void OnDamage(DamageEventArgs e)
 {
     Damaged?.Invoke(this, e);
 }