All ships
BIN
assets/ships/battleship.png
Normal file
|
After Width: | Height: | Size: 370 KiB |
40
assets/ships/battleship.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dkgbcea27iuoi"
|
||||
path="res://.godot/imported/battleship.png-0b4ca2bba4bff217263932adecea270f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/battleship.png"
|
||||
dest_files=["res://.godot/imported/battleship.png-0b4ca2bba4bff217263932adecea270f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/colony.png
Normal file
|
After Width: | Height: | Size: 362 KiB |
40
assets/ships/colony.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://duq723fh3pdjl"
|
||||
path="res://.godot/imported/colony.png-a0f6d88eab11ff197efa1fedf1fa528a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/colony.png"
|
||||
dest_files=["res://.godot/imported/colony.png-a0f6d88eab11ff197efa1fedf1fa528a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/destroyer.png
Normal file
|
After Width: | Height: | Size: 393 KiB |
40
assets/ships/destroyer.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cjma6wqxe1b1n"
|
||||
path="res://.godot/imported/destroyer.png-830682585e99de22637408bc2e4f47bd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/destroyer.png"
|
||||
dest_files=["res://.godot/imported/destroyer.png-830682585e99de22637408bc2e4f47bd.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/fighter.png
Normal file
|
After Width: | Height: | Size: 181 KiB |
40
assets/ships/fighter.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b60jj5nmjky5s"
|
||||
path="res://.godot/imported/fighter.png-f36dd3833282936b03c4acda3b43ba11.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/fighter.png"
|
||||
dest_files=["res://.godot/imported/fighter.png-f36dd3833282936b03c4acda3b43ba11.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/miner.png
Normal file
|
After Width: | Height: | Size: 413 KiB |
40
assets/ships/miner.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d4ayclmbqiogn"
|
||||
path="res://.godot/imported/miner.png-57380b1b2778c6bcc88bb3ba5d5a3251.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/miner.png"
|
||||
dest_files=["res://.godot/imported/miner.png-57380b1b2778c6bcc88bb3ba5d5a3251.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/science.png
Normal file
|
After Width: | Height: | Size: 536 KiB |
40
assets/ships/science.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://8ww8o6bo4d4b"
|
||||
path="res://.godot/imported/science.png-9a81d98d7ee09f2b7b9ca471b8ff3f91.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/science.png"
|
||||
dest_files=["res://.godot/imported/science.png-9a81d98d7ee09f2b7b9ca471b8ff3f91.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/ships/scout.png
Normal file
|
After Width: | Height: | Size: 242 KiB |
40
assets/ships/scout.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bvhe0u6gcbplv"
|
||||
path="res://.godot/imported/scout.png-a0d0a247c7438d367f596f56c9c800e2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ships/scout.png"
|
||||
dest_files=["res://.godot/imported/scout.png-a0d0a247c7438d367f596f56c9c800e2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@ -28,22 +28,6 @@ offset_bottom = 35.0
|
||||
text = "Nazwa stacji"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Button" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 100.0
|
||||
offset_right = 221.0
|
||||
offset_bottom = 140.0
|
||||
text = "Zbuduj fregatę"
|
||||
|
||||
[node name="Button3" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 38.0
|
||||
offset_top = 152.0
|
||||
offset_right = 195.0
|
||||
offset_bottom = 192.0
|
||||
text = "Zbuduj transportowiec"
|
||||
|
||||
[node name="Button2" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 770.0
|
||||
@ -52,6 +36,9 @@ offset_right = 799.0
|
||||
offset_bottom = 39.0
|
||||
text = "X"
|
||||
|
||||
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
|
||||
[connection signal="pressed" from="Button3" to="." method="_on_button_3_pressed"]
|
||||
[node name="ShipContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[connection signal="pressed" from="Button2" to="." method="_on_button_2_pressed"]
|
||||
|
||||
@ -16,5 +16,5 @@ func setup(type):
|
||||
$Sprite2D.texture = texture
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
#position += direction * speed * delta
|
||||
position += direction * speed * delta
|
||||
pass
|
||||
|
||||
@ -8,6 +8,7 @@ const SHIP_TYPES = {
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/transport.png"
|
||||
},
|
||||
|
||||
"frigate": {
|
||||
"name": "Frigate",
|
||||
"cost": {"iron": 10, "copper": 10},
|
||||
@ -16,5 +17,84 @@ const SHIP_TYPES = {
|
||||
"hp": 50,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/fregata.png"
|
||||
},
|
||||
|
||||
# 1. Destroyer
|
||||
"destroyer": {
|
||||
"name": "Destroyer",
|
||||
"cost": {"iron": 20, "copper": 15},
|
||||
"speed": 2,
|
||||
"attack": 20,
|
||||
"hp": 70,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/destroyer.png"
|
||||
},
|
||||
|
||||
|
||||
|
||||
# 3. Battleship
|
||||
"battleship": {
|
||||
"name": "Battleship",
|
||||
"cost": {"iron": 80, "copper": 40, "uranium": 20},
|
||||
"speed": 2,
|
||||
"attack": 80,
|
||||
"hp": 400,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/battleship.png"
|
||||
},
|
||||
|
||||
# 4. Colony Ship
|
||||
"colony_ship": {
|
||||
"name": "Colony Ship",
|
||||
"cost": {"iron": 30},
|
||||
"speed": 9,
|
||||
"cargo_capacity": 200,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/colony.png"
|
||||
},
|
||||
|
||||
# 5. Scout
|
||||
"scout": {
|
||||
"name": "Scout",
|
||||
"cost": {"iron": 5},
|
||||
"speed": 20,
|
||||
"attack": 2,
|
||||
"hp": 10,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/scout.png"
|
||||
},
|
||||
|
||||
# 6. Miner
|
||||
"miner": {
|
||||
"name": "Mining Ship",
|
||||
"cost": {"iron": 12, "copper": 5},
|
||||
"speed": 3,
|
||||
"cargo_capacity": 100,
|
||||
"mining_power": 5,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/miner.png"
|
||||
},
|
||||
|
||||
|
||||
|
||||
# 8. Fighter
|
||||
"fighter": {
|
||||
"name": "Fighter",
|
||||
"cost": {"iron": 3, "copper": 1},
|
||||
"speed": 14,
|
||||
"attack": 8,
|
||||
"hp": 15,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/fighter.png"
|
||||
},
|
||||
|
||||
# 9. Science Ship
|
||||
"science_ship": {
|
||||
"name": "Science Ship",
|
||||
"cost": {"iron": 15},
|
||||
"speed": 11,
|
||||
"research_bonus": 10,
|
||||
"required_tech": null,
|
||||
"texture": "res://assets/ships/science.png"
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,6 +20,40 @@ func _gui_input(event):
|
||||
|
||||
|
||||
var current_station = null
|
||||
@onready var ships_container = $ShipContainer
|
||||
|
||||
func _ready():
|
||||
generate_ship_buttons()
|
||||
|
||||
func generate_ship_buttons():
|
||||
# Usuwamy stare guziki
|
||||
for c in ships_container.get_children():
|
||||
c.queue_free()
|
||||
|
||||
# Pobieramy statki z autoloadu
|
||||
var all_ships = ShipsType.SHIP_TYPES
|
||||
|
||||
# Pobieramy odblokowane technologie gracza
|
||||
var unlocked = PlayerData.unlocked_techs
|
||||
|
||||
for ship_id in all_ships.keys():
|
||||
var data = all_ships[ship_id]
|
||||
|
||||
# 1. Sprawdzenie technologii
|
||||
if data.required_tech != null and not unlocked.has(data.required_tech):
|
||||
continue
|
||||
|
||||
# 2. Tworzymy guzik
|
||||
var btn = Button.new()
|
||||
btn.text = data.name
|
||||
|
||||
# 3. Podpinamy akcję
|
||||
btn.pressed.connect(func():
|
||||
build_ship(ship_id)
|
||||
)
|
||||
|
||||
# 4. Dodajemy do UI
|
||||
ships_container.add_child(btn)
|
||||
|
||||
func show_for_station(station):
|
||||
self.visible = true
|
||||
@ -30,11 +64,11 @@ func _on_button_2_pressed() -> void:
|
||||
self.visible = false
|
||||
|
||||
|
||||
func _on_button_pressed() -> void:
|
||||
build_ship("frigate")
|
||||
|
||||
func _on_button_3_pressed() -> void:
|
||||
build_ship("transport")
|
||||
#func _on_button_pressed() -> void:
|
||||
#build_ship("frigate")
|
||||
#
|
||||
#func _on_button_3_pressed() -> void:
|
||||
#build_ship("transport")
|
||||
|
||||
|
||||
|
||||
|
||||