Beispiel #1
0
        // 添加新Buff
        public void _internal_add_new_buff(BaseEntity caster, BuffCnf buffCnf)
        {
            BuffLog.Log("Attach Buff--> [{0}] add buff [{1}] ", _owner.ToDes(), buffCnf.desc);

            BaseBuff newBuff = _attach_buff(caster, buffCnf.id);
            /*//新Buff 默认情况下在OnAttach下会增加一层 TODO 剔除*/
            bool result = newBuff.AddLayer();

            // 触发回调
            if (result)
            {
                newBuff.RaiseEvent(E_BuffEvent.BUFF_ADD_LAYER);
            }
        }
Beispiel #2
0
        // buff 叠加
        public void _internal_buff_overlap(BaseBuff oldBuff, BuffCnf buffCnf)
        {
            // 层级+1
            bool result = oldBuff.AddLayer();

            if (!result)
            {
                BuffLog.Log("Buff Add Layer 达到最大等级");
                _internal_buff_refresh_time(oldBuff);
                return;
            }


            if (oldBuff.Info.RefreshOnAttach)
            {
                _internal_buff_refresh_time(oldBuff);
            }
            // 触发回调
            // old_buff.RaiseEvent(E_BuffEvent.buff_add_layer);
        }