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

Method pullFullUpdate

source/game/StarTeamClient.cpp:149–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147}
148
149void TeamClient::pullFullUpdate() {
150 if (m_fullUpdateRunning)
151 return;
152 m_fullUpdateRunning = true;
153 JsonObject request;
154 request["playerUuid"] = m_clientContext->playerUuid().hex();
155
156 invokeRemote("team.fetchTeamStatus", request, [this](Json response) {
157 m_fullUpdateRunning = false;
158
159 m_teamUuid = response.optString("teamUuid").apply(construct<Uuid>());
160
161 if (m_teamUuid) {
162 m_teamLeader = Uuid(response.getString("leader"));
163 m_members.clear();
164
165 for (auto m : response.getArray("members")) {
166 Member member;
167 member.name = m.getString("name");
168 member.uuid = Uuid(m.getString("uuid"));
169 member.entity = m.getInt("entity");
170 member.healthPercentage = m.getFloat("health");
171 member.energyPercentage = m.getFloat("energy");
172 member.position[0] = m.getFloat("x");
173 member.position[1] = m.getFloat("y");
174 member.world = parseWorldId(m.getString("world"));
175 member.warpMode = WarpModeNames.getLeft(m.getString("warpMode"));
176 member.portrait = jsonToList<Drawable>(m.get("portrait"));
177 m_members.push_back(member);
178 }
179 std::sort(m_members.begin(), m_members.end(), [](Member const& a, Member const& b) { return a.name < b.name; });
180 } else {
181 clearTeam();
182 }
183 });
184}
185
186void TeamClient::statusUpdate() {
187 if (m_statusUpdateRunning)

Callers

nothing calls this directly

Calls 15

UuidClass · 0.85
parseWorldIdFunction · 0.85
hexMethod · 0.80
playerUuidMethod · 0.80
optStringMethod · 0.80
getStringMethod · 0.80
getArrayMethod · 0.80
getIntMethod · 0.80
getFloatMethod · 0.80
sortFunction · 0.50
applyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected