public void UpdateLogic(int delta) { Singleton <SceneManagement> .GetInstance().UpdateDirtyNodes(); if (!this.m_bSoldierOverNum) { bool flag = true; int count = this.soldierAreas.get_Count(); for (int i = 0; i < count; i++) { SoldierRegion soldierRegion = this.soldierAreas.get_Item(i); if (soldierRegion.isStartup) { SoldierSpawnResult soldierSpawnResult = soldierRegion.UpdateLogicSpec(delta); flag &= (soldierSpawnResult != SoldierSpawnResult.ShouldWaitSoldierInterval); } } if (flag) { this.CheckSoldierOverNumUpper(); } } else { this.CheckSoldierOverNumLower(); } int count2 = this.commonSpawnGroups.get_Count(); for (int j = 0; j < count2; j++) { CommonSpawnGroup commonSpawnGroup = this.commonSpawnGroups.get_Item(j); if (commonSpawnGroup.isStartup) { commonSpawnGroup.UpdateLogic(delta); } } for (int k = 0; k < this.spawnGroups.get_Count(); k++) { SpawnGroup spawnGroup = this.spawnGroups.get_Item(k); if (spawnGroup.isStartup) { spawnGroup.UpdateLogic(delta); } } int count3 = this.objTriggerMultiMap.get_Count(); for (int l = 0; l < count3; l++) { MapWrapper.ObjTriggerKeyValuePair objTriggerKeyValuePair = this.objTriggerMultiMap.get_Item(l); GameObject obj = objTriggerKeyValuePair.obj; ListView <AreaEventTrigger> triggers = objTriggerKeyValuePair.triggers; if (obj != null && obj.activeSelf && (ulong)(Singleton <FrameSynchr> .get_instance().CurFrameNum % 4u) == (ulong)((long)(l % 4))) { bool flag2 = false; int count4 = triggers.get_Count(); for (int m = 0; m < count4; m++) { AreaEventTrigger areaEventTrigger = triggers.get_Item(m); if (areaEventTrigger != null && areaEventTrigger.isStartup) { areaEventTrigger.UpdateLogic(delta * 4); flag2 |= areaEventTrigger.bDoDeactivating; } } if (flag2) { for (int n = 0; n < count4; n++) { AreaEventTrigger areaEventTrigger2 = triggers.get_Item(n); if (areaEventTrigger2 != null) { areaEventTrigger2.DoSelfDeactivating(); } } } } } }
public void UpdateLogic(int delta) { Singleton <SceneManagement> .GetInstance().UpdateDirtyNodes(); if (!this.m_bSoldierOverNum) { bool flag = true; for (int m = 0; m < this.soldierAreas.Count; m++) { SoldierRegion region = this.soldierAreas[m]; if (region.isStartup) { SoldierSpawnResult result = region.UpdateLogicSpec(delta); flag &= result != SoldierSpawnResult.ShouldWaitSoldierInterval; } } if (flag) { this.CheckSoldierOverNumUpper(); } } else { this.CheckSoldierOverNumLower(); } for (int i = 0; i < this.commonSpawnGroups.Count; i++) { CommonSpawnGroup group = this.commonSpawnGroups[i]; if (group.isStartup) { group.UpdateLogic(delta); } } for (int j = 0; j < this.spawnGroups.Count; j++) { SpawnGroup group2 = this.spawnGroups[j]; if (group2.isStartup) { group2.UpdateLogic(delta); } } int count = this.objTriggerMultiMap.Count; for (int k = 0; k < count; k++) { ObjTriggerKeyValuePair pair = this.objTriggerMultiMap[k]; GameObject obj2 = pair.obj; ListView <AreaEventTrigger> triggers = pair.triggers; if (((obj2 != null) && obj2.activeSelf) && ((Singleton <FrameSynchr> .instance.CurFrameNum % 4) == (k % 4))) { bool flag2 = false; for (int n = 0; n < triggers.Count; n++) { AreaEventTrigger trigger = triggers[n]; if ((trigger != null) && trigger.isStartup) { trigger.UpdateLogic(delta * 4); flag2 |= trigger.bDoDeactivating; } } if (flag2) { for (int num7 = 0; num7 < triggers.Count; num7++) { AreaEventTrigger trigger2 = triggers[num7]; if (trigger2 != null) { trigger2.DoSelfDeactivating(); } } } } } }