39 lines
1.3 KiB
GDScript
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)
|