ArkSol/scripts/GameData.gd
2025-10-30 00:16:09 +01:00

56 lines
1.4 KiB
GDScript

# Plik: res://scripts/GameData.gd
extends Node
#class_name GameData
# Ładowanie kontenera klas danych
const CLASSES = preload("res://scripts/GameClasses.gd")
# Ustawienie aliasów dla czytelności
const PlanetDataClass = CLASSES.PlanetData
const StarDataClass = CLASSES.StarData
# --- GLOBALNY STAN GRY ---
var sectors: Array[StarDataClass] = []
# ... (reszta kodu) ...
# === FUNKCJE GENERUJĄCE GALAKTYKĘ ===
func _ready():
# ... (logika inicjalizacji)
generate_galaxy()
print(sectors[0].planets[0].name)
func generate_galaxy():
sectors.clear() # na wszelki wypadek, żeby nie duplikować
for i in range(2):
var new_sector_data = StarDataClass.new()
# --- Pozycja gwiazdy w przestrzeni galaktyki ---
new_sector_data.position = Vector2(
randf_range(0, 400), # szerokość galaktyki
randf_range(0, 400)
)
new_sector_data.randomize_properties()
new_sector_data.planets = generate_planets_for_sector()
sectors.append(new_sector_data)
func generate_planets_for_sector() -> Array:
var planets_list: Array = []
var planet_count = randi_range(2, 2)
for i in range(planet_count):
var p = PlanetDataClass.new()
p.name = "Planeta %d" % (i + 1)
p.randomize_properties()
# --- Ustal promień orbity i kąt ---
p.orbit_radius = (i + 1) * randf_range(100.0, 200.0)
p.angle = randf_range(0.0, TAU)
planets_list.append(p)
return planets_list