public LeakageCalculatorAllAgents()
 {
     propertiesAvg = new Dictionary <LeakagePropertyType, LeakageProperty>();
     foreach (LeakagePropertyType propertyType in Enum.GetValues(typeof(LeakagePropertyType)))
     {
         propertiesAvg[propertyType] = new LeakageProperty(propertyType);
     }
 }
 public void CalculateLeakage(List <MapsAgent> mapsAgents)
 {
     foreach (MapsAgent chosen in mapsAgents)
     {
         List <MapsAgent> adversaries = new List <MapsAgent>();
         foreach (MapsAgent a in mapsAgents)
         {
             if (a != chosen)
             {
                 adversaries.Add(a);
             }
         }
         LeakageCalculatorOneAgent currAgentCalc = new LeakageCalculatorOneAgent();
         currAgentCalc.CalculateLeakage(adversaries, chosen);
         foreach (LeakagePropertyType propertyType in Enum.GetValues(typeof(LeakagePropertyType)))
         {
             LeakageProperty avgProp       = propertiesAvg[propertyType];
             LeakageProperty currAgentProp = currAgentCalc.properties[propertyType];
             avgProp.value += currAgentProp.percentage(); // at the end, this will sum all of the percantages of the agents' leakage
             avgProp.gt_value++;                          // at the end, this will be the amount of agents in the problem
         }
     }
 }