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

Method systemObjectConfig

source/game/StarSystemWorld.cpp:244–272  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

242}
243
244SystemObjectConfig SystemWorld::systemObjectConfig(String const& name, Uuid const& uuid) const {
245 RandomSource rand(staticRandomU64(uuid.hex()));
246
247 SystemObjectConfig object;
248 auto config = systemObjectTypeConfig(name);
249 auto orbitRange = jsonToVec2F(config.get("orbitRange"));
250 auto lifeTimeRange = jsonToVec2F(config.get("lifeTime"));
251
252 object.name = name;
253
254 object.moving = config.getBool("moving");
255 object.speed = config.getFloat("speed");
256 object.orbitDistance = Random::randf(orbitRange[0], orbitRange[1]);
257 object.lifeTime = Random::randf(lifeTimeRange[0], lifeTimeRange[1]);
258
259 object.permanent = config.getBool("permanent", false);
260
261 object.warpAction = parseWarpAction(config.getString("warpAction"));
262 object.threatLevel = config.optFloat("threatLevel");
263 object.skyParameters = SkyParameters(config.get("skyParameters"));
264 object.parameters = config.getObject("parameters");
265
266 if (config.contains("generatedParameters")) {
267 for (auto p : config.getObject("generatedParameters"))
268 object.generatedParameters[p.first] = p.second.toString();
269 }
270
271 return object;
272}
273
274Json SystemWorld::systemObjectTypeConfig(String const& name) {
275 return Root::singleton().assets()->json(strf("/system_objects.config:{}", name));

Callers 1

SystemObjectMethod · 0.80

Calls 14

staticRandomU64Function · 0.85
jsonToVec2FFunction · 0.85
randfFunction · 0.85
parseWarpActionFunction · 0.85
SkyParametersClass · 0.85
hexMethod · 0.80
getBoolMethod · 0.80
getFloatMethod · 0.80
getStringMethod · 0.80
optFloatMethod · 0.80
getMethod · 0.45
getObjectMethod · 0.45

Tested by

no test coverage detected