public void UpdateCountDown(float deltaTime) { createAgentDelayCounter += deltaTime; List <QueryItem <ConstructId, float> > queryItems = constructCountQuery.QueryItemList(); for (int i = 0; i < queryItems.Count; i++) { queryItems[i].value += deltaTime; } List <QueryItem <Soldier, float> > agentItems = agentCountQuery.QueryItemList(); for (int i = 0; i < agentItems.Count; i++) { if ((agentItems[i].key == Soldier.Warrior || agentItems[i].key == Soldier.HumanWarrior) && !isUpdatedWarrior) { agentItems[i].value += deltaTime; isUpdatedWarrior = true; continue; } if ((agentItems[i].key == Soldier.Archer || agentItems[i].key == Soldier.Magic) && !isUpdatedRange) { agentItems[i].value += deltaTime; isUpdatedRange = true; continue; } if ((agentItems[i].key == Soldier.OrcTanker || agentItems[i].key == Soldier.WoodHorse) && !isUpdatedTank) { agentItems[i].value += deltaTime; isUpdatedTank = true; continue; } if (isUpdatedTank && isUpdatedWarrior & isUpdatedRange) { break; } } ResetAgentCheckUpdated(); InstantiateAgent(); }