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();
        }