Ejemplo n.º 1
0
 public void ClearBuff()
 {
     this.bRemoveList = false;
     for (int i = 0; i < this.SpawnedBuffList.get_Count(); i++)
     {
         BuffSkill buffSkill = this.SpawnedBuffList.get_Item(i);
         if (buffSkill != null)
         {
             buffSkill.Stop();
         }
     }
     if (this.protectRule != null)
     {
         this.protectRule.ClearBuff();
     }
     if (this.logicEffect != null)
     {
         this.logicEffect.ClearBuff();
     }
     for (int j = 0; j < this.SpawnedBuffList.get_Count(); j++)
     {
         BuffSkill buffSkill = this.SpawnedBuffList.get_Item(j);
         if (buffSkill != null)
         {
             buffSkill.Release();
         }
     }
     this.SpawnedBuffList.Clear();
     this.delBuffList.Clear();
     this.bRemoveList = true;
 }
Ejemplo n.º 2
0
 public void RemoveBuff(int inSkillCombineId)
 {
     if (this.SpawnedBuffList.Count != 0)
     {
         this.delBuffList = this.SpawnedBuffList;
         for (int i = 0; i < this.delBuffList.Count; i++)
         {
             BuffSkill skill = this.delBuffList[i];
             if ((skill != null) && (skill.SkillID == inSkillCombineId))
             {
                 skill.Stop();
             }
         }
     }
 }
Ejemplo n.º 3
0
 public void ClearEffectTypeBuff(int _typeMask)
 {
     if (this.SpawnedBuffList.Count != 0)
     {
         this.delBuffList = this.SpawnedBuffList;
         for (int i = 0; i < this.delBuffList.Count; i++)
         {
             BuffSkill skill = this.delBuffList[i];
             if ((_typeMask & (((int)1) << skill.cfgData.dwEffectType)) > 0)
             {
                 skill.Stop();
             }
         }
     }
 }
Ejemplo n.º 4
0
 public void CheckBuffNoClear(RES_SKILLFUNC_CLEAR_RULE _rule)
 {
     if (this.buffHolder.SpawnedBuffList.Count != 0)
     {
         BuffSkill[] array = new BuffSkill[this.buffHolder.SpawnedBuffList.Count];
         this.buffHolder.SpawnedBuffList.CopyTo(array);
         for (int i = 0; i < array.Length; i++)
         {
             BuffSkill skill = array[i];
             if ((skill.cfgData.dwClearRule != ((long)_rule)) && (skill.cfgData.dwEffectType != 3))
             {
                 skill.Stop();
             }
         }
     }
 }
Ejemplo n.º 5
0
 public void CheckBuffNoClear(RES_SKILLFUNC_CLEAR_RULE _rule)
 {
     if (this.buffHolder.SpawnedBuffList.Count != 0)
     {
         this.CopyList(this.buffHolder.SpawnedBuffList, this.TempBuffList);
         for (int i = 0; i < this.TempBuffList.Count; i++)
         {
             BuffSkill skill = this.TempBuffList[i];
             if ((skill.cfgData.dwClearRule != ((long)_rule)) && (skill.cfgData.dwEffectType != 3))
             {
                 skill.Stop();
             }
         }
         this.TempBuffList.Clear();
     }
 }
Ejemplo n.º 6
0
 public void CheckBuffNoClear(RES_SKILLFUNC_CLEAR_RULE _rule)
 {
     if (this.buffHolder.SpawnedBuffList.get_Count() == 0)
     {
         return;
     }
     this.CopyList(this.buffHolder.SpawnedBuffList, this.TempBuffList);
     for (int i = 0; i < this.TempBuffList.get_Count(); i++)
     {
         BuffSkill buffSkill = this.TempBuffList.get_Item(i);
         if (buffSkill.cfgData.bClearRule != (byte)_rule && buffSkill.cfgData.bEffectType != 3)
         {
             buffSkill.Stop();
         }
     }
     this.TempBuffList.Clear();
 }
Ejemplo n.º 7
0
        public void RemoveBuff(BuffSkill inBuff)
        {
            if (this.SpawnedBuffList.Count != 0)
            {
                this.delBuffList = this.SpawnedBuffList;
                for (int i = 0; i < this.delBuffList.Count; i++)
                {
                    BuffSkill skill = this.delBuffList[i];
                    if (skill == inBuff)
                    {
                        BuffChangeEventParam param = new BuffChangeEventParam(false, base.actorPtr, inBuff);
                        Singleton <GameSkillEventSys> .GetInstance().SendEvent <BuffChangeEventParam>(GameSkillEventDef.Event_BuffChange, base.actorPtr, ref param, GameSkillEventChannel.Channel_HostCtrlActor);

                        skill.Stop();
                    }
                }
            }
        }
Ejemplo n.º 8
0
 public void ClearEffectTypeBuff(int _typeMask)
 {
     if (this.SpawnedBuffList.get_Count() == 0)
     {
         return;
     }
     this.delBuffList = this.SpawnedBuffList;
     for (int i = 0; i < this.delBuffList.get_Count(); i++)
     {
         BuffSkill buffSkill = this.delBuffList.get_Item(i);
         if ((_typeMask & 1 << (int)buffSkill.cfgData.bEffectType) > 0)
         {
             buffSkill.Stop();
         }
     }
     if (this.markRule != null)
     {
         this.markRule.ClearBufferMark(_typeMask);
     }
 }
Ejemplo n.º 9
0
 public void RemoveSkillEffectGroup(int inGroupID)
 {
     if (this.SpawnedBuffList.Count != 0)
     {
         this.delBuffList = this.SpawnedBuffList;
         for (int i = 0; i < this.delBuffList.Count; i++)
         {
             BuffSkill skill = this.delBuffList[i];
             if (((skill != null) && (skill.cfgData != null)) && (skill.cfgData.iCroupID == inGroupID))
             {
                 skill.Stop();
                 if (((skill.cfgData.dwEffectType == 2) && (skill.cfgData.dwShowType != 2)) && (base.actorPtr != 0))
                 {
                     LimitMoveEventParam param = new LimitMoveEventParam(0, skill.SkillID, base.actorPtr);
                     Singleton <GameSkillEventSys> .GetInstance().SendEvent <LimitMoveEventParam>(GameSkillEventDef.AllEvent_CancelLimitMove, base.actorPtr, ref param, GameSkillEventChannel.Channel_AllActor);
                 }
             }
         }
     }
 }
Ejemplo n.º 10
0
 public void RemoveSkillEffectGroup(int inGroupID)
 {
     if (this.SpawnedBuffList.get_Count() == 0)
     {
         return;
     }
     this.delBuffList = this.SpawnedBuffList;
     for (int i = 0; i < this.delBuffList.get_Count(); i++)
     {
         BuffSkill buffSkill = this.delBuffList.get_Item(i);
         if (buffSkill != null && buffSkill.cfgData != null && buffSkill.cfgData.iCroupID == inGroupID)
         {
             buffSkill.Stop();
             if (buffSkill.cfgData.bEffectType == 2 && buffSkill.cfgData.bShowType != 2 && this.actorPtr)
             {
                 LimitMoveEventParam limitMoveEventParam = new LimitMoveEventParam(0, buffSkill.SkillID, this.actorPtr);
                 Singleton <GameSkillEventSys> .GetInstance().SendEvent <LimitMoveEventParam>(GameSkillEventDef.AllEvent_CancelLimitMove, this.actorPtr, ref limitMoveEventParam, GameSkillEventChannel.Channel_AllActor);
             }
         }
     }
 }
Ejemplo n.º 11
0
        public void RemoveBuff(BuffSkill inBuff)
        {
            if (this.SpawnedBuffList.Count != 0)
            {
                this.delBuffList = this.SpawnedBuffList;
                for (int i = 0; i < this.delBuffList.Count; i++)
                {
                    BuffSkill skill = this.delBuffList[i];
                    if (skill == inBuff)
                    {
                        BuffChangeEventParam param = new BuffChangeEventParam(false, base.actorPtr, inBuff);
                        Singleton <GameSkillEventSys> .GetInstance().SendEvent <BuffChangeEventParam>(GameSkillEventDef.AllEvent_BuffChange, base.actorPtr, ref param, GameSkillEventChannel.Channel_HostCtrlActor);

                        skill.Stop();
                        if (((inBuff.cfgData.dwEffectType == 2) && (inBuff.cfgData.dwShowType != 2)) && (base.actorPtr != 0))
                        {
                            LimitMoveEventParam param2 = new LimitMoveEventParam(0, inBuff.SkillID, base.actorPtr);
                            Singleton <GameSkillEventSys> .GetInstance().SendEvent <LimitMoveEventParam>(GameSkillEventDef.AllEvent_CancelLimitMove, base.actorPtr, ref param2, GameSkillEventChannel.Channel_AllActor);
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
        public void RemoveBuff(BuffSkill inBuff)
        {
            if (this.SpawnedBuffList.get_Count() == 0)
            {
                return;
            }
            this.delBuffList = this.SpawnedBuffList;
            for (int i = 0; i < this.delBuffList.get_Count(); i++)
            {
                BuffSkill buffSkill = this.delBuffList.get_Item(i);
                if (buffSkill == inBuff)
                {
                    BuffChangeEventParam buffChangeEventParam = new BuffChangeEventParam(false, this.actorPtr, inBuff);
                    Singleton <GameSkillEventSys> .GetInstance().SendEvent <BuffChangeEventParam>(GameSkillEventDef.AllEvent_BuffChange, this.actorPtr, ref buffChangeEventParam, GameSkillEventChannel.Channel_HostCtrlActor);

                    buffSkill.Stop();
                    if (inBuff.cfgData.bEffectType == 2 && inBuff.cfgData.bShowType != 2 && this.actorPtr)
                    {
                        LimitMoveEventParam limitMoveEventParam = new LimitMoveEventParam(0, inBuff.SkillID, this.actorPtr);
                        Singleton <GameSkillEventSys> .GetInstance().SendEvent <LimitMoveEventParam>(GameSkillEventDef.AllEvent_CancelLimitMove, this.actorPtr, ref limitMoveEventParam, GameSkillEventChannel.Channel_AllActor);
                    }
                }
            }
        }