ArkSol/scripts/galaxy.gd
2025-10-29 22:13:43 +01:00

63 lines
1.6 KiB
GDScript

# Plik: Galaxy.gd
extends Node2D
func _ready():
var sectors = GameData.sectors
_spawn_sectors(sectors)
func _spawn_sectors(sectors: Array):
for sector in sectors:
var star_button = TextureButton.new()
star_button.set_meta("sector_data", sector)
star_button.texture_normal = sector.texture
star_button.position = sector.position
star_button.scale = Vector2(0.02, 0.02)
if sector.texture:
var size = sector.texture.get_size()
star_button.custom_minimum_size = size
star_button.size = size
add_child(star_button)
star_button.pressed.connect(_on_star_clicked.bind(star_button))
var name_label = Label.new()
name_label.text = sector.name
name_label.position = star_button.position + Vector2(-20, 20)
add_child(name_label)
var name_label2 = Label.new()
name_label2.text = sector.planets[0].name
name_label2.position = star_button.position + Vector2(-20, 40)
add_child(name_label2)
func _on_star_clicked(star_button_node: TextureButton):
var clicked_sector_data = star_button_node.get_meta("sector_data")
if clicked_sector_data:
open_sector_view(clicked_sector_data)
else:
push_error("Błąd: Nie znaleziono danych sektora w przycisku.")
func open_sector_view(data):
GameData.selected_sector_data = data
var error = get_tree().change_scene_to_file("res://scenes/sector.tscn")
if error != OK:
push_error("BŁĄD ZMIANY SCENY: Nie udało się załadować res://scenes/sector.tscn. Sprawdź ścieżkę i plik.")
else:
print("Przeniesiono do widoku sektora:", data.name)
func _input(event):
if event.is_action_pressed("ui_cancel"):
get_tree().change_scene_to_file("res://scenes/Menu.tscn")