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

Method fetchTeamStatus

source/game/StarTeamManager.cpp:172–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172Json TeamManager::fetchTeamStatus(Json const& arguments) {
173 RecursiveMutexLocker lock(m_mutex);
174 auto playerUuid = Uuid(arguments.getString("playerUuid"));
175 JsonObject result;
176 if (auto teamUuid = getTeam(playerUuid)) {
177 auto& team = m_teams.get(*teamUuid);
178
179 result["teamUuid"] = teamUuid->hex();
180 result["leader"] = team.leaderUuid.hex();
181 JsonArray members;
182 for (auto const& m : team.members) {
183 JsonObject member;
184 auto const& mem = m.second;
185 member["name"] = mem.name;
186 member["uuid"] = m.first.hex();
187 member["leader"] = m.first == team.leaderUuid;
188 member["entity"] = mem.entity;
189 member["health"] = mem.healthPercentage;
190 member["energy"] = mem.energyPercentage;
191 member["x"] = mem.position[0];
192 member["y"] = mem.position[1];
193 member["world"] = printWorldId(mem.world);
194 member["warpMode"] = WarpModeNames.getRight(mem.warpMode);
195 member["portrait"] = jsonFromList(mem.portrait, mem_fn(&Drawable::toJson));
196 members.push_back(member);
197 }
198 result["members"] = members;
199 }
200 return result;
201}
202
203Json TeamManager::updateStatus(Json const& arguments) {
204 RecursiveMutexLocker lock(m_mutex);

Callers

nothing calls this directly

Calls 7

UuidClass · 0.85
printWorldIdFunction · 0.85
jsonFromListFunction · 0.85
getStringMethod · 0.80
hexMethod · 0.80
getMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected