Exemplo n.º 1
0
        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);
        }