| 276 | } |
| 277 | |
| 278 | Maybe<Vec2F> SystemWorld::systemLocationPosition(SystemLocation const& location) const { |
| 279 | if (auto coordinate = location.maybe<CelestialCoordinate>()) { |
| 280 | return planetPosition(*coordinate); |
| 281 | } else if (auto orbit = location.maybe<CelestialOrbit>()) { |
| 282 | return orbitPosition(*orbit); |
| 283 | } else if (auto objectUuid = location.maybe<Uuid>()) { |
| 284 | if (auto object = getObject(*objectUuid)) |
| 285 | return object->position(); |
| 286 | } else if (auto position = location.maybe<Vec2F>()) { |
| 287 | return Vec2F(*position); |
| 288 | } |
| 289 | return {}; |
| 290 | } |
| 291 | |
| 292 | Vec2F SystemWorld::randomArrivalPosition() const { |
| 293 | RandomSource rand; |
no test coverage detected