コード例 #1
0
 /// <summary>
 /// Handle imposed damage
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="args"> An DamageEventArgs that contains damage event data.</param>
 public void RaiseDamage(object sender, DamageEventArgs args)
 {
     if (Damage != null)
     {
         Damage(sender, args);
     }
 }
コード例 #2
0
ファイル: HealthCollider.cs プロジェクト: TagsRocks/skill
 /// <summary>
 /// Handle imposed damage
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="args"> An DamageEventArgs that contains damage event data.</param>
 protected virtual void Events_Damage(object sender, DamageEventArgs args)
 {
     if (Damage && Health != null)
     {
         Health.RaiseDamage(sender, args);
     }
 }
コード例 #3
0
        /// <summary>
        /// Handle imposed damage
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="args"> An DamageEventArgs that contains damage event data.</param>
        protected virtual void Events_Damage(object sender, DamageEventArgs args)
        {
            if (IsDead || _CurrentHealth <= 0)
            {
                return;
            }

            if (SingleDamageTag)
            {
                if (LastCausedDamageTag != string.Empty)
                {
                    SingleDamageTag = LastCausedDamageTag == args.Tag;
                }
            }

            LastCausedDamage    = sender;
            LastCausedDamageTag = args.Tag;



            LastDamage     = args.Damage;
            LastDamageType = args.DamageType;
            // Take no damage if invincible, dead, or if the damage is zero
            if (Invincible)
            {
                return;
            }
            if (args.Damage <= 0)
            {
                return;
            }

            // Decrease health by damage and send damage signals
            CurrentHealth -= args.Damage;
            _RegenerateDelayTW.Begin(RegenerateDelay);
        }