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

Method diskStore

source/game/StarQuests.cpp:152–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

150}
151
152Json Quest::diskStore() const {
153 auto versioningDatabase = Root::singleton().versioningDatabase();
154
155 JsonObject result;
156 result["state"] = QuestStateNames.getRight(m_state);
157 result["arc"] = m_arc.diskStore();
158 result["arcPos"] = m_arcPos;
159 result["parameters"] = questParamsDiskStore(m_parameters);
160 result["money"] = m_money;
161
162 result["worldId"] = jsonFromMaybe(m_worldId.apply(printWorldId));
163 result["location"] = jsonFromMaybe(m_location.apply([](pair<Vec3I, SystemLocation> const& location) {
164 return JsonObject{{"system", jsonFromVec3I(location.first)}, {"location", jsonFromSystemLocation(location.second)}};
165 }));
166 result["serverUuid"] = jsonFromMaybe(m_serverUuid.apply(mem_fn(&Uuid::hex)));
167
168 auto itemDatabase = Root::singleton().itemDatabase();
169 result["rewards"] =
170 m_rewards.transformed([&itemDatabase](ItemConstPtr const& item) { return itemDatabase->diskStore(item); });
171
172 result["lastUpdatedOn"] = m_lastUpdatedOn;
173 result["unread"] = m_unread;
174 result["canTurnIn"] = m_canTurnIn;
175 result["indicators"] = jsonFromStringSet(m_indicators);
176 result["scriptStorage"] = m_scriptComponent.getScriptStorage();
177
178 result["title"] = m_title;
179 result["text"] = m_text;
180 result["completionText"] = m_completionText;
181 result["failureText"] = m_failureText;
182
183 result["portraits"] = jsonFromMapV(m_portraits, [](List<Drawable> const& portrait) {
184 return portrait.transformed(mem_fn(&Drawable::toJson));
185 });
186 result["portraitTitles"] = jsonFromMap(m_portraitTitles);
187 result["showDialog"] = m_showDialog;
188
189 return versioningDatabase->makeCurrentVersionedJson("Quest", result).toJson();
190}
191
192QuestTemplatePtr Quest::getTemplate() const {
193 return Root::singleton().questTemplateDatabase()->questTemplate(templateId());

Callers

nothing calls this directly

Calls 15

singletonClass · 0.85
questParamsDiskStoreFunction · 0.85
jsonFromMaybeFunction · 0.85
jsonFromVec3IFunction · 0.85
jsonFromSystemLocationFunction · 0.85
jsonFromStringSetFunction · 0.85
jsonFromMapVFunction · 0.85
jsonFromMapFunction · 0.85
versioningDatabaseMethod · 0.80
itemDatabaseMethod · 0.80
getScriptStorageMethod · 0.80
applyMethod · 0.45

Tested by

no test coverage detected