public static void Decrement(GameMetricOptions options, int index)
{
if (SimulationMetricsLogger.instance == null) {
return;
}
//Check if logger is activated.
if (!(SimulationMetricsLogger.instance.simulationMetricsLoggerStart || SimulationMetricsLogger.instance.gameStartFlag)) {
Debug.LogWarning("Cannot decrement. Game Metrics Logger isn't completely enabled.");
return;
}
TeamMetric metric = SimulationMetricsLogger.instance.teamMetrics[index];
//This method call should only be used very rarely. But it's worth putting it in for completeness.
switch (options) {
case GameMetricOptions.Attacks:
metric.numberOfAttacks--;
break;
case GameMetricOptions.Death:
metric.numberOfDeaths--;
break;
case GameMetricOptions.Kills:
metric.numberOfKills--;
break;
case GameMetricOptions.Merges:
metric.numberOfMerges--;
break;
case GameMetricOptions.Splits:
metric.numberOfSplits--;
break;
case GameMetricOptions.AttackTime:
metric.totalAttackTime -= Time.deltaTime;
break;
case GameMetricOptions.BattleEngagementTime:
metric.totalBattleEngagementTime -= Time.deltaTime;
break;
case GameMetricOptions.Wins:
metric.winCount--;
break;
case GameMetricOptions.Losses:
metric.lossCount--;
break;
default:
Debug.LogError("Decrement(): Invalid Game Metric Options. Please double check. Value: " + options.ToString());
break;
}
SimulationMetricsLogger.instance.teamMetrics[index] = metric;
}