예제 #1
0
 public override void MutateDamageEvent(object sender, ref Damage.DamageEventArgs args)
 {
     foreach (var tm in TypeValues)
     {
         if (args.DamageType == tm.DamageType)
         {
             args.DamageValue *= tm.Value;
         }
     }
 }
예제 #2
0
    /// <summary>
    /// How will we handle the damage being dealt to us?
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="args"></param>
    private void ReactToDamage(object sender, Damage.DamageEventArgs args)
    {
        //Debug.Log("Damaged with severity: " + args.DamageValue);
        //when struck, speed up the animation of the dragon by X amount for some seconds
        Audio.PlayOneShot(hurtRoar);

        if (_nodesKilled == 1 && startedRot)
        {
            StartCoroutine(CoRotateUp(rotTime));
        }
    }
예제 #3
0
 protected abstract void DoOnDealDamage(object sender, Damage.DamageEventArgs args);
 protected override void DoOnTakeDamage(object sender, Damage.DamageEventArgs damageEventArgs)
 {
     // Nothing
 }
 private void ModifyDamage(object sender, ref Damage.DamageEventArgs args)
 {
     args.DamageValue = (args.DamageValue * multiplier) + flatModifier;
 }
 protected override void DoOnDealDamage(object sender, Damage.DamageEventArgs e)
 {
     Destroy(gameObject, DestroyDelay);
 }
예제 #7
0
 protected override void DoOnTakeDamage(object sender, Damage.DamageEventArgs damageEventArgs)
 {
     //throw new System.NotImplementedException();
 }
예제 #8
0
 protected abstract void OnDealDamageEvent(object sender, Damage.DamageEventArgs e);