extends Node2D class_name Planet @onready var label = $Label @onready var info_label = $CanvasLayer/Info @onready var area = $Area2D var pname: String = "" var orbit_radius: float = 30.0 var orbit_speed: float = 0.01 var biosfere: float = 0.1 var resources := {} var texture: Texture2D var angle = randf() * TAU func _ready(): add_to_group("planets") # Podłącz sygnały area.mouse_entered.connect(_on_mouse_entered) area.mouse_exited.connect(_on_mouse_exited) #str(round(biosfere * 100) / 100.0) _update_position() func _process(delta): angle += orbit_speed * delta # obrót w czasie angle = fmod(angle, TAU) # utrzymanie kąta w 0..2π _update_position() label.text = str(pname) func _update_position(): # pozycja lokalna względem gwiazdy position = Vector2(cos(angle), sin(angle)) * orbit_radius func _on_mouse_entered(): info_label.visible = true var text = "🌍 %s\n" % pname text += "Biosfera: %.2f\n" % biosfere var has_any_resource = false for key in resources.keys(): var res = resources[key] if res.has("exist") and res["exist"]: if not has_any_resource: text += "Zasoby:\n" has_any_resource = true var display_name = tr(key) # tłumaczenie klucza przez system Godot text += "%s:%s\n" % [display_name, str(res.get("amount", 0))] info_label.text = text func _on_mouse_exited(): info_label.visible = false