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

Method diskLoad

source/game/StarPlayer.cpp:211–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209}
210
211void Player::diskLoad(Json const& diskStore) {
212 setUniqueId(diskStore.getString("uuid"));
213 m_description = diskStore.getString("description");
214 setModeType(PlayerModeNames.getLeft(diskStore.getString("modeType")));
215 m_shipUpgrades = ShipUpgrades(diskStore.get("shipUpgrades"));
216 m_blueprints = make_shared<PlayerBlueprints>(diskStore.get("blueprints"));
217 m_universeMap = make_shared<PlayerUniverseMap>(diskStore.get("universeMap"));
218 if (m_clientContext)
219 m_universeMap->setServerUuid(m_clientContext->serverUuid());
220
221 m_codexes = make_shared<PlayerCodexes>(diskStore.get("codexes"));
222 m_techs = make_shared<PlayerTech>(diskStore.get("techs"));
223 m_identity = HumanoidIdentity(diskStore.get("identity"));
224 m_identityUpdated = true;
225
226 setTeam(EntityDamageTeam(diskStore.get("team")));
227
228 m_state = State::Idle;
229
230 m_inventory->load(diskStore.get("inventory"));
231
232 m_movementController->loadState(diskStore.get("movementController"));
233 m_techController->diskLoad(diskStore.get("techController"));
234 m_statusController->diskLoad(diskStore.get("statusController"));
235
236 m_log = make_shared<PlayerLog>(diskStore.get("log"));
237
238 auto speciesDef = Root::singleton().speciesDatabase()->species(m_identity.species);
239
240 m_questManager->diskLoad(diskStore.get("quests", JsonObject{}));
241 m_companions->diskLoad(diskStore.get("companions", JsonObject{}));
242 m_deployment->diskLoad(diskStore.get("deployment", JsonObject{}));
243 m_humanoid = make_shared<Humanoid>(speciesDef->humanoidConfig());
244 m_humanoid->setIdentity(m_identity);
245 m_movementController->resetBaseParameters(ActorMovementParameters(jsonMerge(m_humanoid->defaultMovementParameters(), m_config->movementParameters)));
246 m_effectsAnimator->setGlobalTag("effectDirectives", speciesDef->effectDirectives());
247
248 m_genericProperties = diskStore.getObject("genericProperties");
249
250 m_armor->reset();
251 refreshArmor();
252 setNetArmorSecrets(true);
253
254 m_codexes->learnInitialCodexes(species());
255
256 m_aiState = AiState(diskStore.get("aiState", JsonObject{}));
257
258 for (auto& script : m_genericScriptContexts)
259 script.second->setScriptStorage({});
260
261 for (auto& p : diskStore.get("genericScriptStorage", JsonObject{}).toObject()) {
262 if (auto script = m_genericScriptContexts.maybe(p.first).value({})) {
263 script->setScriptStorage(p.second.toObject());
264 }
265 }
266
267 // Make sure to merge the stored player blueprints with what a new player
268 // would get as default.

Callers 10

diskLoadEntityMethod · 0.45
ItemDropMethod · 0.45
getNetArmorSecretsMethod · 0.45
reloadPlayerMethod · 0.45
loadStoreMethod · 0.45
MonsterMethod · 0.45
loadMethod · 0.45
QuestMethod · 0.45
NpcMethod · 0.45
makePlayerCallbacksMethod · 0.45

Calls 15

ShipUpgradesClass · 0.85
HumanoidIdentityClass · 0.85
EntityDamageTeamClass · 0.85
singletonClass · 0.85
AiStateClass · 0.85
getStringMethod · 0.80
speciesDatabaseMethod · 0.80
humanoidConfigMethod · 0.80
resetBaseParametersMethod · 0.80
setGlobalTagMethod · 0.80
effectDirectivesMethod · 0.80

Tested by

no test coverage detected