space_empire/scripts/sector.gd
2025-10-13 17:09:10 +02:00

29 lines
1.0 KiB
GDScript

extends Node2D
# sector.gd - spawns a star and several planets and connects signals
@export var planet_scene: PackedScene = preload("res://scenes/planet.tscn")
func _ready():
# create a simple star visual (Circle) - using a Node2D as placeholder
var star = Node2D.new()
star.name = "StarSprite"
star.position = Vector2(480, 240)
add_child(star)
# Spawn planets
for i in range(3):
var p = planet_scene.instantiate()
p.name = "Planet_%d" % i
var angle = i * (PI * 2 / 3)
var radius = 160
p.position = Vector2(480,240) + Vector2(cos(angle), sin(angle)) * radius
add_child(p)
p.connect("planet_selected", Callable(self, "_on_planet_selected"))
func _on_planet_selected(planet):
# find the PlanetMenu in the scene tree and open it
var ui = get_tree().get_root().get_node("Main/UI/PlanetMenu") if get_tree().get_root().has_node("Main/UI/PlanetMenu") else null
if ui:
ui.open_for(planet)
else:
print("PlanetMenu not found, but selected: ", planet.name)