System czasu i słownik

This commit is contained in:
Tomasz Boruc 2025-10-30 22:12:04 +01:00
parent b8925701e6
commit 62fab7f1f0
18 changed files with 255 additions and 60 deletions

BIN
assets/fonts/main_font.ttf Normal file

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://chk8jrn2ighpx"
path="res://.godot/imported/main_font.ttf-36d79ba454878c9b3ab34b1c4d76239a.fontdata"
[deps]
source_file="res://assets/fonts/main_font.ttf"
dest_files=["res://.godot/imported/main_font.ttf-36d79ba454878c9b3ab34b1c4d76239a.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -17,6 +17,7 @@ config/icon="res://icon.svg"
[autoload] [autoload]
Names="*res://scripts/dictionary.gd"
MusicManager="*res://music_manager.gd" MusicManager="*res://music_manager.gd"
ObjectNames="*res://scripts/ObjectNames.gd" ObjectNames="*res://scripts/ObjectNames.gd"
Settings="*res://scripts/settings.gd" Settings="*res://scripts/settings.gd"

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://b1vxl6rs5odt1"] [gd_scene load_steps=6 format=3 uid="uid://b1vxl6rs5odt1"]
[ext_resource type="Script" uid="uid://cts6e8xmnqsax" path="res://scripts/galaxy.gd" id="1_jxn3g"] [ext_resource type="Script" uid="uid://cts6e8xmnqsax" path="res://scripts/galaxy.gd" id="1_jxn3g"]
[ext_resource type="Texture2D" uid="uid://dvydsg5o77wdm" path="res://assets/background/galaxy_background.jpg" id="1_n7ltq"] [ext_resource type="Texture2D" uid="uid://dvydsg5o77wdm" path="res://assets/background/galaxy_background.jpg" id="1_n7ltq"]
[ext_resource type="PackedScene" uid="uid://bbgymc0drqpbx" path="res://scenes/ui/time_display.tscn" id="3_fmtwf"]
[ext_resource type="AudioStream" uid="uid://c8xg32p8lbltw" path="res://assets/sounds/music/game_music.mp3" id="3_mlxib"] [ext_resource type="AudioStream" uid="uid://c8xg32p8lbltw" path="res://assets/sounds/music/game_music.mp3" id="3_mlxib"]
[ext_resource type="Script" uid="uid://b4cmg63daeo7g" path="res://scripts/camera_2d.gd" id="4_5xxpo"] [ext_resource type="Script" uid="uid://b4cmg63daeo7g" path="res://scripts/camera_2d.gd" id="4_5xxpo"]
@ -13,10 +14,15 @@ layer = -1
[node name="Background" type="Sprite2D" parent="CanvasLayer"] [node name="Background" type="Sprite2D" parent="CanvasLayer"]
z_index = -10 z_index = -10
position = Vector2(580, 332) position = Vector2(580.00006, 340.00003)
scale = Vector2(0.30208334, 0.32222223) scale = Vector2(0.30208334, 0.3148148)
texture = ExtResource("1_n7ltq") texture = ExtResource("1_n7ltq")
[node name="TimeDisplay" parent="CanvasLayer" instance=ExtResource("3_fmtwf")]
offset_left = 896.0
offset_top = 8.0
offset_bottom = -616.0
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_mlxib") stream = ExtResource("3_mlxib")
autoplay = true autoplay = true

View File

@ -7,7 +7,7 @@
[ext_resource type="Texture2D" uid="uid://da6hb1mill5yn" path="res://assets/icons/buttons/button_blue.png" id="3_v86rl"] [ext_resource type="Texture2D" uid="uid://da6hb1mill5yn" path="res://assets/icons/buttons/button_blue.png" id="3_v86rl"]
[ext_resource type="Texture2D" uid="uid://t2pwtja7yfa4" path="res://assets/icons/buttons/button_red.png" id="4_13sgg"] [ext_resource type="Texture2D" uid="uid://t2pwtja7yfa4" path="res://assets/icons/buttons/button_red.png" id="4_13sgg"]
[ext_resource type="Texture2D" uid="uid://dssoa5bxs2h4r" path="res://assets/icons/logo_game.png" id="5_4ytvr"] [ext_resource type="Texture2D" uid="uid://dssoa5bxs2h4r" path="res://assets/icons/logo_game.png" id="5_4ytvr"]
[ext_resource type="FontFile" uid="uid://bytgiothu0eoy" path="res://assets/fonts/Chopsic.otf" id="5_13sgg"] [ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="6_i6lef"]
[ext_resource type="Texture2D" uid="uid://cm376wgq8l0n4" path="res://assets/stars/small_star.png" id="7_i6lef"] [ext_resource type="Texture2D" uid="uid://cm376wgq8l0n4" path="res://assets/stars/small_star.png" id="7_i6lef"]
[sub_resource type="Animation" id="Animation_mj5lg"] [sub_resource type="Animation" id="Animation_mj5lg"]
@ -137,7 +137,7 @@ theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0) theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1) theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23 theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("5_13sgg") theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120 theme_override_font_sizes/font_size = 120
text = "menu_exit" text = "menu_exit"
horizontal_alignment = 1 horizontal_alignment = 1
@ -164,7 +164,7 @@ theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0) theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1) theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23 theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("5_13sgg") theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120 theme_override_font_sizes/font_size = 120
text = "menu_options" text = "menu_options"
horizontal_alignment = 1 horizontal_alignment = 1
@ -198,7 +198,7 @@ theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0) theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1) theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23 theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("5_13sgg") theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120 theme_override_font_sizes/font_size = 120
text = "menu_start" text = "menu_start"
horizontal_alignment = 1 horizontal_alignment = 1
@ -232,7 +232,7 @@ theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0) theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1) theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23 theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("5_13sgg") theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120 theme_override_font_sizes/font_size = 120
text = "menu_back" text = "menu_back"
horizontal_alignment = 1 horizontal_alignment = 1
@ -266,7 +266,7 @@ theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0) theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1) theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23 theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("5_13sgg") theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120 theme_override_font_sizes/font_size = 120
text = "menu_load" text = "menu_load"
horizontal_alignment = 1 horizontal_alignment = 1

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=4 format=3 uid="uid://bbgymc0drqpbx"]
[ext_resource type="Script" uid="uid://dxky82mepun1j" path="res://scripts/time_label.gd" id="1_3uj10"]
[ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="2_742oq"]
[ext_resource type="FontFile" uid="uid://drp85tpfncq5m" path="res://assets/fonts/font2.ttf" id="3_aosp1"]
[node name="TimeDisplay" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_3uj10")
[node name="TimeLabel" type="Label" parent="."]
layout_mode = 0
offset_left = 39.0
offset_right = 164.0
offset_bottom = 20.0
theme_override_fonts/font = ExtResource("2_742oq")
text = "time_display"
[node name="pause" type="Button" parent="."]
layout_mode = 0
offset_left = 12.0
offset_top = 2.0
offset_right = 32.0
offset_bottom = 24.0
scale = Vector2(0.5, 0.5)
theme_override_colors/font_color = Color(0.80287457, 0.40096578, 0.15050122, 1)
theme_override_fonts/font = ExtResource("3_aosp1")
theme_override_font_sizes/font_size = 16
text = "II"
[node name="faster" type="Button" parent="."]
layout_mode = 0
offset_left = 23.0
offset_top = 2.0
offset_right = 41.0
offset_bottom = 24.0
scale = Vector2(0.5, 0.5)
theme_override_colors/font_color = Color(0.80287457, 0.40096578, 0.15050122, 1)
theme_override_fonts/font = ExtResource("3_aosp1")
theme_override_font_sizes/font_size = 16
text = ">"
[node name="slower" type="Button" parent="."]
layout_mode = 0
offset_left = 2.0
offset_top = 2.0
offset_right = 20.0
offset_bottom = 24.0
scale = Vector2(0.5, 0.5)
theme_override_colors/font_color = Color(0.80287457, 0.40096578, 0.15050122, 1)
theme_override_fonts/font = ExtResource("3_aosp1")
theme_override_font_sizes/font_size = 16
text = "<"
[node name="MenuButton" type="Button" parent="."]
layout_mode = 0
offset_left = 198.0
offset_right = 246.0
offset_bottom = 23.0
theme_override_fonts/font = ExtResource("2_742oq")
theme_override_font_sizes/font_size = 11
text = "Menu"

View File

@ -1,38 +0,0 @@
# Plik: res://data/GameClasses.gd
extends Resource
class_name GameClasses # Użyjemy go do globalnego dostępu (jak Singleton dla klas)
# =========================================================================
# === 1. KLASA DANYCH PLANETY =============================================
# =========================================================================
class PlanetData extends Resource:
@export var name: String = ""
@export var size: int = 1
@export var orbit_radius: float = 0.0
@export var angle: float = 0.0
@export var rotation_speed: float = 0.0
@export var texture_path: String = ""
func randomize_properties():
size = randi_range(1, 5)
rotation_speed = randf_range(0.0001, 0.001)
var tex_id = randi_range(1, 18)
texture_path = "res://assets/planets/p%d.png" % tex_id
# =========================================================================
# === 2. KLASA DANYCH GWIAZDY/SEKTORA ====================================
# =========================================================================
class StarData extends Resource:
@export var name: String = ""
@export var position: Vector2 = Vector2.ZERO
@export var type: String = "G2V"
@export var texture_path: String = ""
@export var planets: Array = [] # Lista obiektów PlanetData
func randomize_properties():
var types = ["O", "B", "A", "F", "G", "K", "M"]
type = types[randi() % types.size()]
var tex_id = randi_range(1, 3)
texture_path = "res://assets/stars/s%d.png" % tex_id
name = "Ziemia"

View File

@ -1 +0,0 @@
uid://knplo8og2w4a

View File

@ -1,3 +1,15 @@
extends Node extends Node
var game_lunched = false var game_lunched = false
var game_time := 0.0
var update_timer := 0.0
func _ready():
TranslationServer.set_locale(Settings.LANGUAGE)
func _process(delta):
game_time += delta * Settings.TIME_SCALE
#print(game_time)
update_timer += delta * Settings.TIME_SCALE
if update_timer >= Settings.UPDATE_INTERVAL:
update_timer = 0.0

View File

@ -1,7 +1,7 @@
extends Camera2D extends Camera2D
@export var speed := 500 # prędkość przesuwania @export var speed := 500 # prędkość przesuwania
@export var zoom_speed := 0.1 # prędkość zoomu @export var zoom_speed := 0.5 # prędkość zoomu
func _process(delta): func _process(delta):
var move = Vector2.ZERO var move = Vector2.ZERO

66
scripts/dictionary.gd Normal file
View File

@ -0,0 +1,66 @@
extends Node
const sector_names = [
"Aetherion", "Altaris", "Andur System", "Artemis Reach", "Astrion",
"Azura Prime", "Borealis Expanse", "Caldris Belt", "Canthar System", "Celion Verge",
"Corvax Sector", "Cygnera Rift", "Daedalus Reach", "Darnis Cluster", "Dravon Expanse",
"Eclipta Prime", "Erevos System", "Eryndor Belt", "Ethon Reach", "Epsilon Mare",
"Falcoris Rim", "Feron Cluster", "Gaelis System", "Galmar Belt", "Gryphon Reach",
"Halion Expanse", "Helios Verge", "Hespera Sector", "Hyden Reach", "Icarion System",
"Illun Belt", "Istris Cluster", "Jorath System", "Kaelor Expanse", "Kassian Reach",
"Koralis Rim", "Krynn Sector", "Lunaris Reach", "Lysara System", "Maelor Verge",
"Magnor Belt", "Mareth Cluster", "Meridian Expanse", "Morthal System", "Myrris Reach",
"Nadir Verge", "Naos Sector", "Nerath Cluster", "Norian Belt", "Nova Thal",
"Oblivis Reach", "Odessa Expanse", "Orionis Verge", "Orryx System", "Pallas Belt",
"Parallax Rim", "Perion Sector", "Pharos System", "Phoenix Reach", "Primis Expanse",
"Pyra Cluster", "Quaron Belt", "Quiris System", "Ragnar Verge", "Rathor Expanse",
"Ravenna Sector", "Regalis System", "Remora Reach", "Rydan Belt", "Saren Cluster",
"Selena Verge", "Seraphis System", "Shadow Rift", "Silvar Reach", "Solara Expanse",
"Starnis Belt", "Syrion Cluster", "Talion System", "Tarsis Verge", "Tauren Expanse",
"Tenebris Rim", "Thalassa Reach", "Tharon Belt", "Tirion Sector", "Tritonis Expanse",
"Umbra Verge", "Valis Reach", "Varon Cluster", "Velora System", "Verrin Belt",
"Veyra Expanse", "Viridis Rim", "Volnar Sector", "Vortex Reach", "Vulcaris System",
"Wraith Expanse", "Xandor Cluster", "Xerion Verge", "Ymir Belt", "Zephyra System",
"Zerath Expanse", "Zyra Prime", "Zyneth Reach", "Zorath System", "Zyphon Rim"
]
var planet_names = [
"Aurion", "Belthar", "Cynos", "Dravus", "Elyth", "Farnor", "Glyria", "Hathor", "Ilyon", "Jovara",
"Klyss", "Lunaris", "Myrr", "Nethra", "Orionis", "Penthra", "Quaron", "Ravon", "Siriath", "Thalen",
"Urrax", "Veyra", "Worath", "Xynar", "Yllith", "Zorvan", "Aqmar", "Brenth", "Caelia", "Draxion",
"Enyra", "Falun", "Gravon", "Helior", "Iridra", "Jareth", "Karnis", "Lythra", "Mornis", "Neyra",
"Orryx", "Phaedon", "Quyra", "Rynor", "Sylen", "Taran", "Ulthor", "Vynath", "Wenor", "Xalun",
"Yndra", "Zerath", "Alyon", "Beryth", "Clyra", "Dornis", "Eryon", "Feyra", "Gornis", "Hyron",
"Ithra", "Joryn", "Kavon", "Lornis", "Meyra", "Nornis", "Olyth", "Pryon", "Qalor", "Rytha",
"Sornis", "Teyra", "Ulyth", "Vornis", "Weyra", "Xirra", "Yornis", "Zeyra", "Arax", "Blyth",
"Cerion", "Delyth", "Eron", "Fynor", "Geyra", "Hiron", "Ismar", "Jynar", "Koryth", "Lynor",
"Mythra", "Neyth", "Orryn", "Pynar", "Qorath", "Ryneth", "Syron", "Tynor", "Uryth", "Vylar",
"Woryn", "Xyneth", "Ylar", "Zyron", "Aethra", "Balor", "Cyneth", "Doryn", "Elyra", "Fylar",
"Gyron", "Hynis", "Ithos", "Jalor", "Kynis", "Lyra", "Maron", "Nytha", "Oryth", "Pheron",
"Qynis", "Ralon", "Synor", "Thyra", "Ulor", "Vanys", "Wyron", "Xynis", "Ythor", "Zynor",
"Aevra", "Boran", "Ceryn", "Dyrra", "Eranis", "Fynis", "Golar", "Hyrris", "Iryon", "Jovra",
"Kyrra", "Lyneth", "Myrra", "Norrin", "Orvra", "Pyneth", "Qyron", "Ryvra", "Syrrin", "Toryn",
"Ulyra", "Vynor", "Waryn", "Xyrris", "Yvra", "Zaryn", "Arion", "Belra", "Calon", "Delthar",
"Elyon", "Fornar", "Geyon", "Helra", "Irion", "Jelth", "Koryn", "Lunth", "Meyon", "Noryth",
"Olyra", "Pheon", "Quyron", "Rionis", "Seyth", "Torys", "Ulthar", "Veyron", "Wynor", "Xalon",
"Ythra", "Zynis", "Akris", "Byron", "Cyrron", "Deyra", "Ethon", "Fynar", "Gorrin", "Hyra",
"Irris", "Jorion", "Kavris", "Loryn", "Myrion", "Neyon", "Orris", "Pynor", "Qyrris", "Rheon",
"Sylon", "Tyrron", "Urris", "Vyrris", "Wyra", "Xynon", "Yvron", "Zyrra", "Aenor", "Beyra",
"Cynor", "Dyrion", "Eryth", "Fynon", "Garnis", "Heryth", "Ithion", "Jynor", "Keryn", "Lynis",
"Myron", "Neris", "Oryn", "Peyra", "Qyron", "Rynis", "Seyron", "Teryn", "Uryn", "Veyth",
"Wynis", "Xeron", "Yronis", "Zeyth", "Aoryn", "Boryth", "Cyrra", "Doryn", "Eryn", "Foryn",
"Geryth", "Horyn", "Ioryth", "Jeryn", "Koryth", "Leryn", "Moryn", "Noryn", "Oeryth", "Poryn",
"Qoryn", "Roryn", "Soryn", "Toryn", "Uoryn", "Voryn", "Woryn", "Xoryn", "Yoryn", "Zoryn",
"Altara", "Brionis", "Calyra", "Drethon", "Eonix", "Ferya", "Garnor", "Helyra", "Ionis", "Jarnis",
"Kalith", "Lyros", "Mythra", "Nelyon", "Orion", "Phalor", "Qeyra", "Rynon", "Saryn", "Talon",
"Ulyon", "Vorn", "Weyra", "Xylon", "Ylith", "Zarion", "Althos", "Beyon", "Cynis", "Deyon",
"Elyth", "Fornis", "Geyth", "Hynor", "Ilyon", "Jeyra", "Kynor", "Lorn", "Mynis", "Neyth",
"Orynth", "Pynis", "Qynor", "Rynith", "Sorn", "Tynis", "Urynth", "Vynis", "Wynis", "Xynor",
"Ynis", "Zynis", "Alyth", "Boryn", "Ceryth", "Dyrth", "Elyra", "Foryth", "Gynis", "Heryon",
"Iryth", "Jynis", "Keryth", "Loryth", "Mynith", "Neryth", "Olyth", "Peryth", "Qynith", "Roryth",
"Seryth", "Toryth", "Ulyth", "Veryth", "Woryth", "Xeryth", "Yeryth", "Zeryth", "Aenith", "Benor",
"Cynith", "Denor", "Enith", "Fenor", "Genith", "Henor", "Inith", "Jenor", "Kenith", "Lenor",
"Menith", "Nenor", "Oenith", "Penor", "Qenith", "Renor", "Senith", "Tenor", "Uenith", "Venor",
"Wenith", "Xenor", "Yenith", "Zenor", "Aelor", "Belor", "Celor", "Delor", "Elor", "Felor",
"Gelor", "Helor", "Ielor", "Jelor", "Kelon", "Lelor", "Melor", "Nelon", "Oelor", "Pelon",
"Qelor", "Relor", "Selor", "Telor", "Uelor", "Velor", "Welor", "Xelor", "Yelor", "Zelor"
]

View File

@ -0,0 +1 @@
uid://b28os2n0kielx

View File

@ -13,7 +13,7 @@ func _ready():
func _generate_galaxy(count: int): func _generate_galaxy(count: int):
for i in range(count): for i in range(count):
var star = StarScene.instantiate() var star = StarScene.instantiate()
star.star_name = "Star_" + str(i) star.star_name = Names.sector_names[randi() % Names.sector_names.size()]
star.planet_count = randi_range(Settings.min_planet, Settings.max_planet) star.planet_count = randi_range(Settings.min_planet, Settings.max_planet)
star.global_position = Vector2(randi_range(50, Settings.x), randi_range(50, Settings.y)) star.global_position = Vector2(randi_range(50, Settings.x), randi_range(50, Settings.y))
star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8)) star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8))
@ -22,7 +22,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.pname = "Planet_" + str(i) + "_" + str(j) planet.pname = Names.planet_names[randi() % Names.planet_names.size()]
planet.orbit_radius = 30 + j * 20 planet.orbit_radius = 30 + j * 20
planet.orbit_speed = randf_range(0.01, 0.04) planet.orbit_speed = randf_range(0.01, 0.04)
generate_planet_resources(planet) # <-- tu losujemy surowce generate_planet_resources(planet) # <-- tu losujemy surowce

View File

@ -10,17 +10,17 @@ var resources := {}
var texture: Texture2D var texture: Texture2D
var angle = randf() * TAU var angle = randf() * TAU
func _ready(): func _ready():
print("Planeta: %s, surowiec: %s" % [pname, resources])
#str(round(biosfere * 100) / 100.0) #str(round(biosfere * 100) / 100.0)
_update_position() _update_position()
func _process(delta): func _process(delta):
angle += orbit_speed * delta # obrót w czasie angle += orbit_speed * delta * Settings.TIME_SCALE # obrót w czasie
angle = fmod(angle, TAU) # utrzymanie kąta w 0..2π angle = fmod(angle, TAU) # utrzymanie kąta w 0..2π
_update_position() _update_position()
print(pname, angle)
label.text = str(round(position * 100) / 100.0) label.text = str(pname)
func _update_position(): func _update_position():
# pozycja lokalna względem gwiazdy # pozycja lokalna względem gwiazdy

View File

@ -1,15 +1,20 @@
extends Node extends Node
var language = 'pl' const LANGUAGE = 'pl'
var number_of_players = 1 var number_of_players = 1
# Liczba sektorów w galaktyce # Liczba sektorów w galaktyce
var NUMBER_OF_SYSTEMS: int = 14 var NUMBER_OF_SYSTEMS: int = 44
const RESOURCE_TYPES = ["Iron", "Uran", "Titan", "Water"] const RESOURCE_TYPES = ["Iron", "Uran", "Titan", "Water"]
#pozycja systemów #pozycja systemów
var x = 1900 var x = 4000
var y = 1000 var y = 4000
#Ilosc systemów #Ilosc systemów
var min_planet = 1 var min_planet = 1
var max_planet = 5 var max_planet = 5
#Zmienen upływu czasu
var TIME_SCALE = 1
const UPDATE_INTERVAL := 10.0 #Cykl w sekundach

View File

@ -7,5 +7,5 @@ var planets: Array = []
var texture: Texture2D var texture: Texture2D
func _ready(): func _ready():
print("Gwiazda %s z %d planetami" % [star_name, planet_count]) #print("Gwiazda %s z %d planetami" % [star_name, planet_count])
label.text = star_name label.text = star_name

39
scripts/time_label.gd Normal file
View File

@ -0,0 +1,39 @@
extends Control
@onready var time_label: Label = $TimeLabel
@onready var faster = $faster
@onready var slower = $slower
@onready var pause = $pause
func _ready():
faster.pressed.connect(_on_faster_pressed)
slower.pressed.connect(_on_slower_pressed)
pause.pressed.connect(_on_pause_pressed)
$MenuButton.pressed.connect(_on_menu_button_pressed)
func _process(delta):
var total_days = int(GameData.game_time)
var numer_roku = 3980 + total_days / 365
var day_of_year = total_days % 365
var dzien_cykliczny: int
if day_of_year == 0:
dzien_cykliczny = 0
if total_days > 0:
numer_roku -= 1
else:
dzien_cykliczny = day_of_year
var full_date = tr("time_display") + ": " + str(numer_roku) + "." + str(dzien_cykliczny)
time_label.text = full_date
func _on_faster_pressed():
if Settings.TIME_SCALE < 10:
Settings.TIME_SCALE +=1
func _on_slower_pressed():
if Settings.TIME_SCALE > 0:
Settings.TIME_SCALE -=1
func _on_pause_pressed():
Settings.TIME_SCALE = 0
func _on_menu_button_pressed():
get_tree().change_scene_to_file("res://scenes/menu.tscn")

View File

@ -0,0 +1 @@
uid://dxky82mepun1j