neon-sprawl/client/scripts/zoom_band_config.gd

26 lines
600 B
GDScript

extends Resource
## Discrete follow distances (meters), **near → far** (ascending). Index **0** = closest.
## No `class_name` — see repo Godot headless / CI notes.
@export var band_distances: PackedFloat32Array = PackedFloat32Array([25.709])
@export var default_band_index: int = 0
func band_count() -> int:
return band_distances.size()
func clamp_index(i: int) -> int:
var n := band_count()
if n == 0:
return 0
return clampi(i, 0, n - 1)
func distance_at(index: int) -> float:
var n := band_count()
if n == 0:
return 0.0
var ci := clamp_index(index)
return band_distances[ci]