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; }
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); } } }
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; }
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); } } }
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); }
public override void RecieveDamage(IDealDamage from, int dmg) => base.RecieveDamage(from, dmg);
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; }
public override void RecieveDamage(IDealDamage from, int dmg) { new RandomDrawEvent(Parent); base.RecieveDamage(from, dmg); }