34 lines
1014 B
GDScript
34 lines
1014 B
GDScript
# Plik: res://scripts/Galaxy.gd
|
|
extends Node2D
|
|
|
|
const StarScene = preload("res://scenes/Star.tscn")
|
|
const PlanetScene = preload("res://scenes/Planet.tscn")
|
|
|
|
func _ready():
|
|
# Jeśli nie masz autoloada GameData, zrób tak:
|
|
# var game_data = preload("res://scripts/GameData.gd").new()
|
|
# game_data.generate_galaxy()
|
|
# display_galaxy(game_data)
|
|
|
|
# Jeśli GameData jest autoloadem (zalecane):
|
|
if GameData.sectors.is_empty():
|
|
GameData.generate_galaxy()
|
|
_display_galaxy()
|
|
|
|
|
|
func _display_galaxy():
|
|
for star_data in GameData.sectors:
|
|
var star_instance = StarScene.instantiate()
|
|
star_instance.data = star_data
|
|
star_instance.position = star_data.position
|
|
|
|
# 👇 dodajemy gwiazdę bezpośrednio do Galaxy
|
|
add_child(star_instance)
|
|
|
|
# Teraz dodaj planety jako dzieci gwiazdy
|
|
for planet_data in star_data.planets:
|
|
var planet_instance = PlanetScene.instantiate()
|
|
planet_instance.data = planet_data
|
|
planet_instance.orbit_center = star_instance.position
|
|
star_instance.add_child(planet_instance)
|