openclonk/planet/System.ocg/CollectStatistics.c

30 lines
644 B
C

/**
CollectStatistics.c
Global entry point for statistics collection for the masterserver.
@author Luchs
*/
// This function is called after the round ends. The return value is passed to
// the masterserver.
global func CollectStatistics()
{
var result = {};
var i = 0, def, stats;
while (def = GetDefinition(i++))
{
stats = def->~CollectStats();
if (stats != nil)
result[def->GetName(true)] = stats;
}
stats = Scenario->~CollectStats();
if (stats != nil)
result.Scenario = stats;
if (GetLength(GetProperties(SCENPAR)))
result.SCENPAR = SCENPAR;
if (GetLength(GetProperties(result)))
return result;
return nil;
}