public void Update() { var toRemove = new List <ShopAgent>(); foreach (var agent in _shopAgents) { _shopRequests[agent].CraftingTime += Time.deltaTime; if (_shopRequests[agent].Complete) { Debug.Log("Complete"); var generatedItem = UsableItem.GenerateItem(_shopRequests[agent].CraftingRequirements.resultingItem); agent.agentInventory.AddItem(generatedItem); OverviewVariables.CraftItem(); toRemove.Add(agent); } } foreach (var item in toRemove) { _shopRequests.Remove(item); _shopAgents.Remove(item); } }