public bool AddSpecBuff(ISpecEffect inSpec) { if (null == inSpec) { return(false); } Queue <ISpecEffect> que; if (!dicSpec.TryGetValue(inSpec.SpecTiming, out que)) { que = new Queue <ISpecEffect>(); dicSpec[inSpec.SpecTiming] = que; } if (!que.Contains(inSpec)) { que.Enqueue(inSpec); } return(true); }
public bool TryPickSpecBuff(int inTiming, out ISpecEffect outSpec) { outSpec = null; Queue <ISpecEffect> que; if (!dicSpec.TryGetValue(inTiming, out que) || null == que || que.Count == 0) { return(false); } do { if (que.Count > 0) { outSpec = que.Dequeue(); } else { outSpec = null; } }while (null != outSpec && outSpec.InvalidFlag); return(null != outSpec); }
public bool TryPickSpecBuff(int inTiming, out ISpecEffect outSpec) { return(this.specBuffCoe.TryPickSpecBuff(inTiming, out outSpec)); }
public bool AddSpecBuff(ISpecEffect inSpec) { return(this.specBuffCoe.AddSpecBuff(inSpec)); }
public static bool TryPickSpecBuff(this ISpecBuffCore core, EnumSpecTiming inTiming, out ISpecEffect outSpec) { return(core.TryPickSpecBuff((int)inTiming, out outSpec)); }
protected override bool EffectTarget(ISpecEffect effect, ISkill srcSkill, ISkillPlayer caster, List <ISkillManager> targets) { return(effect.EffectManager(srcSkill, caster, targets)); }
protected abstract bool EffectTarget(ISpecEffect effect, ISkill srcSkill, ISkillPlayer caster, List <T> targets);