ArkSol/scripts/PlanetData.gd

39 lines
1.3 KiB
GDScript

extends Resource
class_name PlanetData
var name = ""
var size = 1
var rotation_speed = 1
var biosfere = 1.0
var orbit_radius = 1.0
var resource_rich = 1.0
var owner = null
var resources: Array = []
# Funkcja statyczna generująca listę planet
static func generate_planets() -> Array:
var planets_list: Array = []
var planet_count = randi_range(Settings.min_planets_per_sector, Settings.max_planets_per_sector)
for i in range(planet_count):
var p = PlanetData.new()
p.name = ObjectNames.planet_names[randi() % ObjectNames.planet_names.size()]
p.generate_properties()
planets_list.append(p)
return planets_list
# Generowanie właściwości jednej planety i surowców
func generate_properties():
size = randi_range(Settings.min_planet_size, Settings.max_planet_size)
rotation_speed = randf_range(Settings.min_rotation_speed, Settings.max_rotation_speed)
biosfere = randf_range(Settings.min_biosfere, Settings.max_biosfere)
orbit_radius = randi_range(Settings.min_orbit_radius, Settings.max_orbit_radius)
resource_rich = randf_range(Settings.min_resource_rich, Settings.max_resource_rich)
resources.clear()
for res_name in ObjectNames.resources:
var r = ResourcesData.new()
r.name = res_name
r.exist = randi() % 2 == 0
#r.amount = r.exist ? randi_range(50, 200) : 0
resources.append(r)