| 201 | } |
| 202 | |
| 203 | Json TeamManager::updateStatus(Json const& arguments) { |
| 204 | RecursiveMutexLocker lock(m_mutex); |
| 205 | auto playerUuid = Uuid(arguments.getString("playerUuid")); |
| 206 | if (auto teamUuid = getTeam(playerUuid)) { |
| 207 | auto& team = m_teams.get(*teamUuid); |
| 208 | auto& entry = team.members.get(playerUuid); |
| 209 | if (arguments.contains("name")) |
| 210 | entry.name = arguments.getString("name"); |
| 211 | if (arguments.contains("entity")) |
| 212 | entry.entity = arguments.getInt("entity"); |
| 213 | entry.healthPercentage = arguments.getFloat("health"); |
| 214 | entry.energyPercentage = arguments.getFloat("energy"); |
| 215 | entry.position[0] = arguments.getFloat("x"); |
| 216 | entry.position[1] = arguments.getFloat("y"); |
| 217 | entry.warpMode = WarpModeNames.getLeft(arguments.getString("warpMode")); |
| 218 | if (arguments.contains("world")) |
| 219 | entry.world = parseWorldId(arguments.getString("world")); |
| 220 | if (arguments.contains("portrait")) |
| 221 | entry.portrait = jsonToList<Drawable>(arguments.get("portrait")); |
| 222 | return {}; |
| 223 | } else { |
| 224 | return "notAMemberOfTeam"; |
| 225 | } |
| 226 | } |
| 227 | |
| 228 | Json TeamManager::invite(Json const& arguments) { |
| 229 | RecursiveMutexLocker lock(m_mutex); |