diff options
Diffstat (limited to 'src/CRSMStats.cpp')
| -rw-r--r-- | src/CRSMStats.cpp | 66 |
1 files changed, 65 insertions, 1 deletions
diff --git a/src/CRSMStats.cpp b/src/CRSMStats.cpp index 86c541c..7add773 100644 --- a/src/CRSMStats.cpp +++ b/src/CRSMStats.cpp @@ -1,7 +1,71 @@ #include "CRSMStats.hpp" -CRSMStats::CRSMStats() +void CRSMStats::AddScenarioWish(const ClientInfo &client, const QString &scenarioFileName) { + Scenarios[scenarioFileName].FileName = scenarioFileName; + ++Scenarios[scenarioFileName].Sum.WishCount; + ++Scenarios[scenarioFileName].Wishers[client].WishCount; + Users[client].Client = client; + ++Users[client].ScenarioWishes[scenarioFileName].WishCount; + ++Users[client].WishSum.WishCount; } +void CRSMStats::AddScenarioStart(const ClientInfo &client, const QString &scenarioFileName) +{ + Scenarios[scenarioFileName].FileName = scenarioFileName; + ++Scenarios[scenarioFileName].Sum.StartCount; + ++Scenarios[scenarioFileName].Wishers[client].StartCount; + + Users[client].Client = client; + ++Users[client].ScenarioWishes[scenarioFileName].StartCount; + ++Users[client].WishSum.StartCount; +} + +void CRSMStats::AddCommandResult(const ClientInfo &client, const QString &cmd, CmdResult result) +{ + Users[client].Client = client; + + if(result != UnknownCommand) + { + Commands[cmd].Command = cmd; + ++Commands[cmd].Sum.UseCount; + ++Commands[cmd].Users[client].UseCount; + + ++Users[client].CommandSum.UseCount; + ++Users[client].Commands[cmd].UseCount; + } + else + { + FailCommands[cmd].Command = cmd; + ++FailCommands[cmd].Sum; + ++FailCommands[cmd].Users[client]; + + ++Users[client].FailCommands[cmd]; + } + + if(result == Success) + { + ++Commands[cmd].Sum.SuccessCount; + ++Commands[cmd].Users[client].SuccessCount; + + ++Users[client].CommandSum.SuccessCount; + ++Users[client].Commands[cmd].SuccessCount; + } + else if(result == RightsFail) + { + ++Commands[cmd].Sum.RightsFailCount; + ++Commands[cmd].Users[client].RightsFailCount; + + ++Users[client].CommandSum.RightsFailCount; + ++Users[client].Commands[cmd].RightsFailCount; + } + else if(result == SyntaxFail) + { + ++Commands[cmd].Sum.SyntaxFailCount; + ++Commands[cmd].Users[client].SyntaxFailCount; + + ++Users[client].CommandSum.SyntaxFailCount; + ++Users[client].Commands[cmd].SyntaxFailCount; + } +} |
