Esempio n. 1
0
 public DamageInstance(string name, DamageType type, float value, IDealDamage source, Texture2D icon)
 {
     this.Name   = name;
     this.Type   = type;
     this.Value  = value;
     this.Source = source;
     this.Icon   = icon;
 }
Esempio n. 2
0
 public virtual void RecieveDamage(IDealDamage from, int dmg)
 {
     Health -= dmg;
     if (Health <= 0)
     {
         Die();
     }
 }
 public void ApplyDamage(IDealDamage dmgDealer)
 {
     hp -= dmgDealer.GetDamageAmount();
     dmgDealer.OnDamageDone();
     if (hp <= 0)
     {
         OnDied?.Invoke();
     }
 }
 private void OnCollisionEnter(Collision other)
 {
     if (((1 << other.gameObject.layer) & interactionLayers.value) != 0)
     {
         IDealDamage damageTaker = other.gameObject.GetComponent <IDealDamage>();
         if (damageTaker != null)
         {
             ApplyDamage(damageTaker);
         }
     }
 }
Esempio n. 5
0
        public Modifier(double delay, IDamageable target, IDealDamage source, Texture2D texture)
        {
            GameTime timer = new GameTime();

            timeInitialized = timer.ElapsedGameTime.TotalSeconds;
            this.delay      = delay;
            this.target     = target;
            this.source     = source;
            Texture         = texture;
            Target          = target;
            Source          = source;
        }
Esempio n. 6
0
    private void CheckForDamage(GameObject target)
    {
        IDealDamage dealDamage = target.GetComponentInParent <IDealDamage>();

        if (dealDamage != null)
        {
            (int damage, DamageTypes damageType) = dealDamage.DealDamage();
            if (damage > 0)
            {
                _playerHealth.Damage(damage, damageType);
            }
        }
    }
Esempio n. 7
0
        public float TakeDamage(IDealDamage source, DamageInstance[] damageInstances)
        {
            float damageTotal = 0;

            foreach (DamageInstance d in damageInstances)
            {
                damageTotal += d.Value;
            }

            // Subract the amount of damage taken from health, rounding down
            health.CurrentValue -= (int)damageTotal;

            // Return the amount of damage done
            return(damageTotal);
        }
Esempio n. 8
0
 public override void RecieveDamage(IDealDamage from, int dmg) => base.RecieveDamage(from, dmg);
Esempio n. 9
0
 public DamageModifier(double delay, IDamageable target, IDealDamage source, Texture2D texture, DamageType type, int damage, Boolean percentBased) : base(delay, target, source, texture)
 {
     this.type         = type;
     this.damage       = damage;
     this.percentBased = percentBased;
 }
Esempio n. 10
0
 public override void RecieveDamage(IDealDamage from, int dmg)
 {
     new RandomDrawEvent(Parent);
     base.RecieveDamage(from, dmg);
 }