protected override bool OnAddBuff(IBuff inBuff) { if (null == inBuff || inBuff.InvalidFlag) { return(false); } IBuff obj = null; int skillId = 0; if (null != inBuff.SrcSkill) { skillId = inBuff.SrcSkill.InnerId; } if (inBuff.Times < 0) { skillId = -skillId; } if (!dicBuff.TryGetValue(skillId, out obj) || null == obj) { dicBuff[skillId] = inBuff.Clone(); } else { obj.CoverBuff(inBuff); } this._syncFlag = false; return(true); }
public BuffSet(ISkillContext context, IBuff refBuff, int buffId) { this._context = context; this._buffRoot = refBuff.Clone(buffId); }