| 170 | } |
| 171 | |
| 172 | Json 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 | |
| 203 | Json TeamManager::updateStatus(Json const& arguments) { |
| 204 | RecursiveMutexLocker lock(m_mutex); |
nothing calls this directly
no test coverage detected