A rare, deterministically-seeded landable body yielding a fourth resource, dark matter, obtainable only through an extractor - never a surface pickup. Reuses every existing generic system (resource/planet definitions, surface profiles, extractor/transporter pipeline) with no type-switch branching. Also fixes a latent conquest-gating gap: a surface profile with no authored PlanetSetup (like the black hole's "void") never registered capture points at all, permanently blocking extractor placement. register_capture_points() now treats zero required points as vacuously conquered, and PlanetSurfaceController registers that zero-point state explicitly when no setup exists.
13 lines
404 B
GDScript
13 lines
404 B
GDScript
class_name PlanetSurfaceProfiles
|
|
extends RefCounted
|
|
|
|
const DEFAULT_PROFILE_ID: String = "rocky"
|
|
const PROFILES: Dictionary = {
|
|
"rocky": preload("res://RockySurfaceProfile.tres"),
|
|
"gas": preload("res://GasSurfaceProfile.tres"),
|
|
"void": preload("res://VoidSurfaceProfile.tres"),
|
|
}
|
|
|
|
|
|
static func get_profile(profile_id: String) -> Resource:
|
|
return PROFILES.get(profile_id, PROFILES[DEFAULT_PROFILE_ID])
|