コード例 #1
0
ファイル: Buff.cs プロジェクト: whztt07/AbilitySystem
 public void Apply(AbilityEffect origin, AbilityCaster caster, EventHandler target, AbilityData data)
 {
     if (!_doesStack)
     {
         BuffInstance existingBuff = target.Buffs.FirstOrDefault(
             (buffInst) => buffInst.Caster == caster && buffInst.Buff == this);
         if (existingBuff != null)
         {
             existingBuff.Remove();
         }
     }
     BuffInstance.ApplyBuff(origin, this, caster, target, data);
 }
コード例 #2
0
 public override void ApplyEffect(AbilityCaster caster, EventHandler[] targets, AbilityData data)
 {
     for (int i = 0; i < targets.Length; i++)
     {
         AttackInstance.Attack(this, caster, targets[i], data.MainValue, data.MainType, data.SFX);
     }
 }
コード例 #3
0
 public override void ApplyEffect(AbilityCaster caster, EventHandler[] targets, AbilityData data)
 {
     for (int i = 0; i < targets.Length; i++)
     {
         _buff.Apply(this, caster, targets[i], data);
     }
 }
コード例 #4
0
 BuffInstance(AbilityEffect originEffect, Buff buff, AbilityCaster caster, EventHandler target, AbilityData data)
 {
     OriginEffect = originEffect;
     Buff         = buff;
     Caster       = caster;
     Target       = target;
     Data         = data;
 }
コード例 #5
0
        public static BuffInstance ApplyBuff(AbilityEffect origin, Buff buff, AbilityCaster caster, EventHandler target, AbilityData data)
        {
            BuffInstance buffInst = new BuffInstance(origin, buff, caster, target, data);

            buffInst.Start();
            return(buffInst);
        }
コード例 #6
0
 public abstract void ApplyEffect(AbilityCaster caster, EventHandler[] targets, AbilityData data);