internal override BattleFighterBuff optionBuffByType(BattleBuffManager manager, BuffInfo info) { IBuffAction _action = info.BuffAction; BuffTypeHolder _holder = manager.getBuffTypeHolder(_action); BattleFighterBuff _buff = _holder.getBuff(_action.TypeB); BattleFighterBuff _resultBuff = null; IBuffAction _hadBuffAction = _buff.BuffAction; if (_action.priority() > _hadBuffAction.priority()) { _resultBuff = replaceBuff(manager, _buff, info); } else { _resultBuff = _buff; } return _resultBuff; }
internal override BattleFighterBuff optionBuffByType(BattleBuffManager manager, BuffInfo info) { manager.createBuffHolder(info.BuffAction); return manager.putToBuffHolder(info); }
/// <summary> /// 1.remove old buff; 2. add new buff </summary> /// <param name="manager"> </param> /// <param name="toReplaceBuff"> </param> /// <param name="addBuffAction"> /// @return </param> protected internal virtual BattleFighterBuff replaceBuff(BattleBuffManager manager, BattleFighterBuff toReplaceBuff, BuffInfo buffInfo) { manager.removeSingleBuff(toReplaceBuff); BattleFighterBuff _resultBuff = manager.putToBuffHolder(buffInfo); return _resultBuff; }
public virtual void optionBuff(BattleBuffManager manager, BuffInfo info) { BattleFighterBuff _buff = optionBuffByType(manager, info); manager.putBuff(_buff); }
internal abstract BattleFighterBuff optionBuffByType(BattleBuffManager manager, BuffInfo info);
public virtual void addBuff(BattleBuffManager manager, BuffInfo info) { IBuffAddPolicy _policy = Policy; _policy.optionBuff(manager, info); }
internal override BattleFighterBuff optionBuffByType(BattleBuffManager manager, BuffInfo info) { BattleFighterBuff _buff = manager.getBattleBuff(info.BuffAction); _buff.stackingBuff(info); return _buff; }