private void ResetRound()
{
ClearTeams();
for (int i = 0; i < fTickets.Length; i++) {
fTickets[i] = 0;
}
fRoundStartTimestamp = DateTime.Now;
fFullUnstackSwapTimestamp = DateTime.MinValue;
lock (fAllPlayers) {
foreach (String name in fAllPlayers) {
try {
if (!fKnownPlayers.ContainsKey(name)) {
ConsoleDebug("ResetRound: " + name + " not in fKnownPlayers");
continue;
}
PlayerModel m = null;
lock (fKnownPlayers) {
m = fKnownPlayers[name];
}
m.ResetRound();
} catch (Exception e) {
ConsoleException(e);
}
}
}
fBalancedRound = 0;
fUnstackedRound = 0;
fUnswitchedRound = 0;
fExcludedRound = 0;
fExemptRound = 0;
fFailedRound = 0;
fTotalRound = 0;
fReassignedRound = 0;
fUnstackState = UnstackState.Off;
fRushStage = 0;
fRushPrevAttackerTickets = 0;
fTimeOutOfJoint = 0;
fRoundsEnabled = fRoundsEnabled + 1;
fGrandTotalQuits = fGrandTotalQuits + fTotalQuits;
fTotalQuits = 0;
fGrandRageQuits = fGrandRageQuits + fRageQuits;
fRageQuits = 0;
fScrambleByCommand = false;
fDisableUnswitcherByRemote = false;
fLastBalancedTimestamp = DateTime.MinValue;
ResetAverageTicketLoss();
fTicketLossHistogram.Clear();
}