MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / readStatistics

Method readStatistics

source/game/StarStatistics.cpp:155–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155void Statistics::readStatistics() {
156 auto versioningDatabase = Root::singleton().versioningDatabase();
157 try {
158 String filename = File::relativeTo(m_storageDirectory, "statistics");
159 if (File::exists(filename)) {
160 Json storage = versioningDatabase->loadVersionedJson(VersionedJson::readFile(filename), "Statistics");
161
162 m_stats = StringMap<Stat>::from(storage.getObject("stats", {}).pairs().transformed([](auto const& entry) {
163 return make_pair(entry.first, Stat::fromJson(entry.second));
164 }));
165 m_achievements = jsonToStringSet(storage.get("achievements", JsonArray{}));
166
167 }
168 } catch (std::exception const& e) {
169 Logger::warn("Error loading local player statistics file, resetting: {}", outputException(e, false));
170 }
171}
172
173void Statistics::mergeServiceStatistics() {
174 if (!m_service || !m_service->initialized() || m_service->error()) return;

Callers

nothing calls this directly

Calls 9

singletonClass · 0.85
jsonToStringSetFunction · 0.85
versioningDatabaseMethod · 0.80
outputExceptionFunction · 0.50
loadVersionedJsonMethod · 0.45
transformedMethod · 0.45
pairsMethod · 0.45
getObjectMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected