spaceship/surface/PlanetSurfaceProfile.gd
2026-09-03 10:33:05 +02:00

24 lines
1.2 KiB
GDScript

class_name PlanetSurfaceProfile
extends Resource
# Declarative recipe for a landed planet surface. The host scene only knows
# how to apply one of these; the feature scene owns the actual resource nodes.
@export var profile_id: String = "rocky"
@export var features_scene: PackedScene
# Optional self-contained gameplay encounter. Unlike an authored PlanetSetup,
# this owns its own objectives and layout and is therefore not configurable in
# the setup editor.
@export var encounter_scene: PackedScene
@export var editor_visible: bool = true
@export var show_capture_status: bool = true
# Which shader draws this surface's backdrop. Every profile names one - the
# old "null means keep whatever the scene already had" convention is what let
# the game and the setup editor drift apart, since each scene "already had" a
# different shader. SurfaceBackground.apply_profile() is the only consumer.
@export var background_shader: Shader = null
@export var base_color: Color = Color(0.75, 0.75, 0.76, 1.0)
@export var crater_color: Color = Color(0.44, 0.44, 0.45, 1.0)
@export var highlight_color: Color = Color(0.89, 0.89, 0.9, 1.0)
@export var caption_color: Color = Color(0.08, 0.16, 0.2, 1.0)
@export var caption_outline_color: Color = Color(0.9, 0.95, 0.96, 0.8)