private static AgentCategoryDictionary DeriveAgentsPerMinute(int globalMaxAgentNumber, float globalNewAgentsPerMinute, MaxNumberOfAgents maxAgentsPerCategory) { var newValues = new AgentCategoryDictionary(); foreach (var kvp in maxAgentsPerCategory) { var newValue = 1f * maxAgentsPerCategory[kvp.Key] / globalMaxAgentNumber * globalNewAgentsPerMinute; newValues[kvp.Key] = newValue; } return(newValues); }
private void DeriveDataFromEntryZones() { _agentCategories = new List <AgentCategory>(); _newAgentsPerSecond = new AgentCategoryDictionary(); _maxNumberOfAgentsPerCategory = new MaxNumberOfAgents(); foreach (var entryZone in _entryZones) { var category = entryZone.GetAgentCategory(); if (!_newAgentsPerSecond.ContainsKey(category)) { _agentCategories.Add(category); _newAgentsPerSecond.Add(category, 0f); _maxNumberOfAgentsPerCategory.Add(category, 100); } } }