Kolonizacja tylko wlasne systemy

This commit is contained in:
Tomasz Boruc 2025-11-13 21:50:53 +01:00
parent 84bf97c22d
commit df393cccd4
7 changed files with 25 additions and 13 deletions

View File

@ -91,7 +91,7 @@ var BUILDINGS = {
"description": "Wydobywa boksyt.", "description": "Wydobywa boksyt.",
"resource": "aluminium", "resource": "aluminium",
"cost": {"iron": 100, "copper": 100}, "cost": {"iron": 100, "copper": 100},
"bonuses": {"biosfere": 0.1}, "bonuses": {},
"build_time": 15.0, "build_time": 15.0,
"texture": "res://assets/buildings/aluminium_ore_mine.png", "texture": "res://assets/buildings/aluminium_ore_mine.png",
"required_tech": "advanced_mining" "required_tech": "advanced_mining"

View File

@ -1,7 +1,7 @@
extends Node extends Node
const RESOURCE_TYPES = [ const RESOURCE_TYPES = [
{"name": "iron", "chance": 90}, # żelazo powszechne {"name": "iron", "chance": 100}, # żelazo powszechne
{"name": "copper", "chance": 80}, # miedź bardzo częsta {"name": "copper", "chance": 80}, # miedź bardzo częsta
{"name": "water", "chance": 75}, # woda potrzebna do życia {"name": "water", "chance": 75}, # woda potrzebna do życia
{"name": "carbon", "chance": 70}, # węgiel podstawowy pierwiastek {"name": "carbon", "chance": 70}, # węgiel podstawowy pierwiastek

View File

@ -59,6 +59,7 @@ func _generate_galaxy(count: int):
# generowanie planet dla danej gwiazdy # generowanie planet dla danej gwiazdy
for j in range(star.planet_count): for j in range(star.planet_count):
var planet = PlanetScene.instantiate() var planet = PlanetScene.instantiate()
planet.parent_star = star
planet.pname = Names.planet_names[randi() % Names.planet_names.size()] planet.pname = Names.planet_names[randi() % Names.planet_names.size()]
planet.orbit_radius = 65 + j * 40 planet.orbit_radius = 65 + j * 40
planet.orbit_speed = randf_range(0.004, 0.01) planet.orbit_speed = randf_range(0.004, 0.01)

View File

@ -4,6 +4,7 @@ class_name Planet
@onready var info_label = $CanvasLayer/Info @onready var info_label = $CanvasLayer/Info
@onready var area = $Area2D @onready var area = $Area2D
@export var parent_star: Star
# --- Timery --- # --- Timery ---
var pop_timer: float = 0.0 var pop_timer: float = 0.0
var res_timer: float = 0.0 var res_timer: float = 0.0
@ -91,6 +92,9 @@ func _on_mouse_click():
func colonize(): func colonize():
if parent_star.system_owner == PlayerData.PlayerName:
if is_colonized == false: if is_colonized == false:
is_colonized = true is_colonized = true
label.add_theme_color_override("font_color", Color(0.0, 0.454, 0.0, 1.0)) label.add_theme_color_override("font_color", Color(0.0, 0.454, 0.0, 1.0))

View File

@ -24,7 +24,9 @@ func _gui_input(event):
func _ready(): func _ready():
send_button.connect("pressed", Callable(self, "_on_send_resources_pressed")) 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 var planet: Planet = null
func _process(delta: float) -> void: func _process(delta: float) -> void:

View File

@ -8,6 +8,7 @@ class_name Star
@onready var label = $Label @onready var label = $Label
@onready var system_owner = "" @onready var system_owner = ""
@onready var station_scene = preload("res://scenes/station.tscn") # scena stacji kosmicznej @onready var station_scene = preload("res://scenes/station.tscn") # scena stacji kosmicznej
var has_station: bool = false var has_station: bool = false
var station_sprite: Sprite2D = null var station_sprite: Sprite2D = null
@ -47,6 +48,7 @@ func capture_system(player_name: String) -> void:
if system_owner != "": if system_owner != "":
return # już przejęty return # już przejęty
system_owner = player_name system_owner = player_name
print(planets)
# Dodaj stację kosmiczną obok gwiazdy # Dodaj stację kosmiczną obok gwiazdy
var station = station_scene.instantiate() var station = station_scene.instantiate()

View File

@ -9,6 +9,7 @@ const DEFAULT_ICON = preload("res://assets/tech/Mining_Drill.png")
var dragging := false var dragging := false
var drag_offset := Vector2.ZERO var drag_offset := Vector2.ZERO
signal building_buttons_update
func _gui_input(event): func _gui_input(event):
if event is InputEventMouseButton: if event is InputEventMouseButton:
@ -128,6 +129,8 @@ func _on_technology_pressed(tech_id):
# Dodaj technologię do odblokowanych # Dodaj technologię do odblokowanych
PlayerData.unlocked_techs.append(tech_id) PlayerData.unlocked_techs.append(tech_id)
print("Odblokowano technologię:", tech.name) print("Odblokowano technologię:", tech.name)
emit_signal("building_buttons_update")
# Opcjonalnie: powiadom o zmianach # Opcjonalnie: powiadom o zmianach
PlayerData.emit_signal("stats_changed") PlayerData.emit_signal("stats_changed")