Exemple #1
0
 protected override void onMutex(Unit unit, TBBuff buff, ref bool reject)
 {
     if (reject = onEvent(EvtMutex, buff))
     {
         return;
     }
     base.onMutex(unit, buff, ref reject);
 }
Exemple #2
0
 protected virtual void onMutex(Unit unit, TBBuff buff, ref bool reject)
 {
     if ((buff.kind & mTB.mutex) == 0)
     {
         return;
     }
     if (buff.priority >= mTB.priority)
     {        //谁优先级高保留谁
         mState = 0;
     }
     else
     {
         reject = true;
     }
 }
Exemple #3
0
        //creator是buff的创建者,用于计算动态伤害参数
        public void addBuff(int buffTID, Unit creator = null)
        {
            Debug.Assert(mUnit.isServer);
            Log.i("addBuff id=" + buffTID, Log.Tag.Skill);
            TBBuff tb = TableMgr.single.GetData <TBBuff>(buffTID);

            if (tb == null)
            {
                return;
            }
            bool isReject = false;

            if (onMutex != null)
            {
                onMutex(mUnit, tb, ref isReject);
            }
            if (isReject)
            {
                return;
            }
            //挂载buff
            Buff buff = null;

            switch (tb.type)
            {
            case 0:
                buff = new LuaBuff();
                break;

            default:
                return;
            }
            buff.mTB = tb;
            mBuffs.Add(buff);
            buff.init(mUnit);
            addBuff(buff);
            if (tb.mutex != 0)
            {
                onMutex += buff.onMutex;
            }
        }
Exemple #4
0
    protected override void onEvent(int evt, object param)
    {
        base.onEvent(evt, param);
        switch (evt)
        {
        case (int)UnitEvent.BuffAdd:
        {
            TBBuff tb = TableMgr.single.GetData <TBBuff> ((short)param);
            //headInfo.mName.text += tb.flag;
            return;
        }

        case (int)UnitEvent.BuffDec:
        {
            TBBuff tb = TableMgr.single.GetData <TBBuff> ((short)param);
            //headInfo.mName.text = headInfo.mName.text.Replace(tb.flag,"");
            return;
        }

        case (int)UnitEvent.AttrChanged:
            onAttrChange((AttrPlugin.EventData)param);
            return;
        }
    }
Exemple #5
0
 public GameSkillBuff(GameSkill gs)
 {
     mTB = new TBBuff();
     mGS = gs;
 }