Esempio n. 1
0
        private void onEnterCombat(ref DefaultGameEventParam prm)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null && this.FilterMatch(EGlobalGameEvent.EnterCombat, cTriggerMatch, prm.src, prm.atker, ref sFilterMatchParam, i))
                {
                    this.DoTriggering(cTriggerMatch, prm.src, prm.atker);
                }
            }
        }
Esempio n. 2
0
        private void onActorDead(ref GameDeadEventParam prm)
        {
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);
            int num = this.TriggerMatches.Length;

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null && this.FilterMatch(EGlobalGameEvent.ActorDead, cTriggerMatch, prm.src, prm.orignalAtker, ref sFilterMatchParam, i))
                {
                    this.DoTriggering(cTriggerMatch, prm.src, prm.orignalAtker);
                }
            }
        }
Esempio n. 3
0
        private void onActorDamage(ref HurtEventResultInfo prm)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            sFilterMatchParam.hurtInfo = prm;
            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null && this.FilterMatch(EGlobalGameEvent.ActorDamage, cTriggerMatch, prm.src, prm.atker, ref sFilterMatchParam, i))
                {
                    this.DoTriggering(cTriggerMatch, prm.src, prm.atker);
                }
            }
        }
Esempio n. 4
0
        private void onFightPrepare(ref DefaultGameEventParam prm)
        {
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);
            int num = this.TriggerMatches.Length;

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    if (this.FilterMatch(EGlobalGameEvent.FightPrepare, cTriggerMatch, prm.src, prm.atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, prm.src, prm.atker);
                    }
                }
            }
        }
Esempio n. 5
0
        private void onActorInit(ref PoolObjHandle <ActorRoot> inActor)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.ActorInit, cTriggerMatch, inActor, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, inActor, atker);
                    }
                }
            }
        }
Esempio n. 6
0
        private void OnActorBattleCoinChanged(PoolObjHandle <ActorRoot> actor, int changeValue, bool isIncome, PoolObjHandle <ActorRoot> target)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            sFilterMatchParam.intParam = actor.get_handle().ValueComponent.GetGoldCoinInBattle();
            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.BattleGoldChange, cTriggerMatch, actor, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, actor, atker);
                    }
                }
            }
        }
Esempio n. 7
0
        private void onTalentLevelChange(ref TalentLevelChangeParam prm)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            sFilterMatchParam.intParam = prm.TalentLevel;
            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.TalentLevelChange, cTriggerMatch, prm.src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, prm.src, atker);
                    }
                }
            }
        }
Esempio n. 8
0
        public void CloseTalentTip()
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> src   = new PoolObjHandle <ActorRoot>(null);
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.CloseTalentTip, cTriggerMatch, src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, src, atker);
                    }
                }
            }
        }
Esempio n. 9
0
        private void onUseSkillCanceled(ref DefaultSkillEventParam prm)
        {
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            sFilterMatchParam.slot = prm.slot;
            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> src   = new PoolObjHandle <ActorRoot>(null);
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.SkillUseCanceled, cTriggerMatch, src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, src, atker);
                    }
                }
            }
        }
Esempio n. 10
0
        private void onSpawnGroupDone(ref SGroupDeadEventParam inParam)
        {
            int num = this.TriggerMatches.Length;

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> src               = new PoolObjHandle <ActorRoot>(null);
                    PoolObjHandle <ActorRoot> atker             = new PoolObjHandle <ActorRoot>(null);
                    SFilterMatchParam         sFilterMatchParam = default(SFilterMatchParam);
                    sFilterMatchParam.csg = inParam.csg;
                    sFilterMatchParam.sg  = inParam.sg;
                    if (this.FilterMatch(EGlobalGameEvent.SpawnGroupDead, cTriggerMatch, src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, src, atker);
                    }
                }
            }
        }
Esempio n. 11
0
        private void onUseSkill(ref ActorSkillEventParam prm)
        {
            if (!ActorHelper.IsHostCtrlActor(ref prm.src))
            {
                return;
            }
            int num = this.TriggerMatches.Length;
            SFilterMatchParam sFilterMatchParam = default(SFilterMatchParam);

            sFilterMatchParam.slot = prm.slot;
            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> src   = new PoolObjHandle <ActorRoot>(null);
                    PoolObjHandle <ActorRoot> atker = new PoolObjHandle <ActorRoot>(null);
                    if (this.FilterMatch(EGlobalGameEvent.UseSkill, cTriggerMatch, src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, src, atker);
                    }
                }
            }
        }
Esempio n. 12
0
 private bool FilterMatch(EGlobalGameEvent inEventType, CTriggerMatch match, PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ref SFilterMatchParam param, int inMatchIndex)
 {
     return(match.EventType == inEventType && match.Condition.FilterMatch(inEventType, src, atker, ref param, match, inMatchIndex));
 }
        public bool FilterMatch(EGlobalGameEvent inEventType, PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ref SFilterMatchParam param, CTriggerMatch match, int inMatchIndex)
        {
            if (!this.CheckDifficulty())
            {
                return(false);
            }
            if (this.GlobalVariable != 0 && Singleton <BattleLogic> .instance.m_globalTrigger != null && this.GlobalVariable != Singleton <BattleLogic> .instance.m_globalTrigger.CurGlobalVariable)
            {
                return(false);
            }
            if (this.bCaptainSrc && (!src || src != Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer().Captain))
            {
                return(false);
            }
            if (this.bCaptainAtker && (!atker || atker != Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer().Captain))
            {
                return(false);
            }
            if (this.SrcActorCond != null)
            {
                STriggerCondActor[] srcActorCond = this.SrcActorCond;
                for (int i = 0; i < srcActorCond.Length; i++)
                {
                    STriggerCondActor sTriggerCondActor = srcActorCond[i];
                    if (!sTriggerCondActor.FilterMatch(ref src))
                    {
                        return(false);
                    }
                }
            }
            if (this.AtkerActorCond != null)
            {
                STriggerCondActor[] atkerActorCond = this.AtkerActorCond;
                for (int j = 0; j < atkerActorCond.Length; j++)
                {
                    STriggerCondActor sTriggerCondActor2 = atkerActorCond[j];
                    if (!sTriggerCondActor2.FilterMatch(ref atker))
                    {
                        return(false);
                    }
                }
            }
            switch (inEventType)
            {
            case EGlobalGameEvent.SpawnGroupDead:
                if (match.Originator != null)
                {
                    CommonSpawnGroup component  = match.Originator.GetComponent <CommonSpawnGroup>();
                    SpawnGroup       component2 = match.Originator.GetComponent <SpawnGroup>();
                    if (component != null && component != param.csg)
                    {
                        return(false);
                    }
                    if (component2 != null && component2 != param.sg)
                    {
                        return(false);
                    }
                }
                break;

            case EGlobalGameEvent.ActorDead:
            {
                PoolObjHandle <ActorRoot> actorRoot = ActorHelper.GetActorRoot(match.Originator);
                if (actorRoot && actorRoot != src)
                {
                    return(false);
                }
                break;
            }

            case EGlobalGameEvent.ActorDamage:
                if (!this.FilterMatchDamage(ref param.hurtInfo))
                {
                    return(false);
                }
                break;

            case EGlobalGameEvent.UseSkill:
                if (param.slot != (SkillSlotType)this.skillSlot)
                {
                    return(false);
                }
                break;

            case EGlobalGameEvent.TalentLevelChange:
                if (match.Condition.TalentLevel != param.intParam)
                {
                    return(false);
                }
                break;

            case EGlobalGameEvent.BattleGoldChange:
            {
                if (!src || !ActorHelper.IsHostCtrlActor(ref src))
                {
                    return(false);
                }
                int intParam = param.intParam;
                if (!this.FilterBattleGoldNum(intParam))
                {
                    return(false);
                }
                break;
            }

            case EGlobalGameEvent.SkillUseCanceled:
                if (param.slot != (SkillSlotType)this.skillSlot)
                {
                    return(false);
                }
                break;
            }
            return(true);
        }