public void UpdateLogic(int inDelta) { PoolObjHandle <ActorRoot> poolObjHandle = new PoolObjHandle <ActorRoot>(null); ulong num = (ulong)((long)this.EffectRadius * (long)this.EffectRadius); List <PoolObjHandle <ActorRoot> > gameActors = Singleton <GameObjMgr> .GetInstance().GameActors; int count = gameActors.get_Count(); for (int i = 0; i < count; i++) { PoolObjHandle <ActorRoot> poolObjHandle2 = gameActors.get_Item(i); if (poolObjHandle2 && !poolObjHandle2.handle.ActorControl.IsDeadState) { if (this.SrcActorCond != null) { bool flag = true; STriggerCondActor[] srcActorCond = this.SrcActorCond; for (int j = 0; j < srcActorCond.Length; j++) { STriggerCondActor sTriggerCondActor = srcActorCond[j]; flag &= sTriggerCondActor.FilterMatch(ref poolObjHandle2); } if (!flag) { goto IL_E9; } } ulong sqrMagnitudeLong2D = (ulong)(poolObjHandle2.handle.location - this.InitLoc).sqrMagnitudeLong2D; if (sqrMagnitudeLong2D < num) { poolObjHandle = poolObjHandle2; break; } } IL_E9 :; } if (poolObjHandle) { this.SetMyselfOnFire(poolObjHandle); } }
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); }