From df393cccd4eadd613168f5aaddad37e640465647 Mon Sep 17 00:00:00 2001 From: Tomasz Boruc Date: Thu, 13 Nov 2025 21:50:53 +0100 Subject: [PATCH] Kolonizacja tylko wlasne systemy --- scripts/BuildingsList.gd | 2 +- scripts/dictionary.gd | 2 +- scripts/galaxy.gd | 1 + scripts/planet.gd | 24 ++++++++++++++---------- scripts/planet_panel.gd | 4 +++- scripts/star.gd | 2 ++ scripts/tech_panel.gd | 3 +++ 7 files changed, 25 insertions(+), 13 deletions(-) diff --git a/scripts/BuildingsList.gd b/scripts/BuildingsList.gd index e8ceb31..ddeccea 100644 --- a/scripts/BuildingsList.gd +++ b/scripts/BuildingsList.gd @@ -91,7 +91,7 @@ var BUILDINGS = { "description": "Wydobywa boksyt.", "resource": "aluminium", "cost": {"iron": 100, "copper": 100}, - "bonuses": {"biosfere": 0.1}, + "bonuses": {}, "build_time": 15.0, "texture": "res://assets/buildings/aluminium_ore_mine.png", "required_tech": "advanced_mining" diff --git a/scripts/dictionary.gd b/scripts/dictionary.gd index 931c680..1052a36 100644 --- a/scripts/dictionary.gd +++ b/scripts/dictionary.gd @@ -1,7 +1,7 @@ extends Node const RESOURCE_TYPES = [ - {"name": "iron", "chance": 90}, # żelazo – powszechne + {"name": "iron", "chance": 100}, # żelazo – powszechne {"name": "copper", "chance": 80}, # miedź – bardzo częsta {"name": "water", "chance": 75}, # woda – potrzebna do życia {"name": "carbon", "chance": 70}, # węgiel – podstawowy pierwiastek diff --git a/scripts/galaxy.gd b/scripts/galaxy.gd index 5012125..6aaa447 100644 --- a/scripts/galaxy.gd +++ b/scripts/galaxy.gd @@ -59,6 +59,7 @@ func _generate_galaxy(count: int): # generowanie planet dla danej gwiazdy for j in range(star.planet_count): var planet = PlanetScene.instantiate() + planet.parent_star = star planet.pname = Names.planet_names[randi() % Names.planet_names.size()] planet.orbit_radius = 65 + j * 40 planet.orbit_speed = randf_range(0.004, 0.01) diff --git a/scripts/planet.gd b/scripts/planet.gd index dc1402d..0464411 100644 --- a/scripts/planet.gd +++ b/scripts/planet.gd @@ -4,6 +4,7 @@ class_name Planet @onready var info_label = $CanvasLayer/Info @onready var area = $Area2D +@export var parent_star: Star # --- Timery --- var pop_timer: float = 0.0 var res_timer: float = 0.0 @@ -91,16 +92,19 @@ func _on_mouse_click(): func colonize(): - if is_colonized == false: - is_colonized = true - label.add_theme_color_override("font_color", Color(0.0, 0.454, 0.0, 1.0)) - - #add_building("iron_mine") - #add_building("water_purifier") - #add_building("terraforming_center") - #add_building("aluminium_ore_mine") - population = 100 - print_data() + + + if parent_star.system_owner == PlayerData.PlayerName: + if is_colonized == false: + is_colonized = true + label.add_theme_color_override("font_color", Color(0.0, 0.454, 0.0, 1.0)) + + #add_building("iron_mine") + #add_building("water_purifier") + #add_building("terraforming_center") + #add_building("aluminium_ore_mine") + population = 100 + print_data() func print_data(): check_max_pop() diff --git a/scripts/planet_panel.gd b/scripts/planet_panel.gd index 80d211a..cf79569 100644 --- a/scripts/planet_panel.gd +++ b/scripts/planet_panel.gd @@ -24,7 +24,9 @@ func _gui_input(event): func _ready(): send_button.connect("pressed", Callable(self, "_on_send_resources_pressed")) - + var tech_panel = get_tree().root.get_node("Galaxy/UI/TechPanel") + if tech_panel: + tech_panel.connect("building_buttons_update", Callable(self, "_create_building_buttons")) var planet: Planet = null func _process(delta: float) -> void: diff --git a/scripts/star.gd b/scripts/star.gd index d493e91..4881393 100644 --- a/scripts/star.gd +++ b/scripts/star.gd @@ -8,6 +8,7 @@ class_name Star @onready var label = $Label @onready var system_owner = "" @onready var station_scene = preload("res://scenes/station.tscn") # scena stacji kosmicznej + var has_station: bool = false var station_sprite: Sprite2D = null @@ -47,6 +48,7 @@ func capture_system(player_name: String) -> void: if system_owner != "": return # już przejęty system_owner = player_name + print(planets) # Dodaj stację kosmiczną obok gwiazdy var station = station_scene.instantiate() diff --git a/scripts/tech_panel.gd b/scripts/tech_panel.gd index 945eb66..36a20e9 100644 --- a/scripts/tech_panel.gd +++ b/scripts/tech_panel.gd @@ -9,6 +9,7 @@ const DEFAULT_ICON = preload("res://assets/tech/Mining_Drill.png") var dragging := false var drag_offset := Vector2.ZERO +signal building_buttons_update func _gui_input(event): if event is InputEventMouseButton: @@ -128,6 +129,8 @@ func _on_technology_pressed(tech_id): # Dodaj technologię do odblokowanych PlayerData.unlocked_techs.append(tech_id) print("Odblokowano technologię:", tech.name) + emit_signal("building_buttons_update") + # Opcjonalnie: powiadom o zmianach PlayerData.emit_signal("stats_changed")