diff --git a/player.gd b/player.gd index f3d4133..66ba78e 100644 --- a/player.gd +++ b/player.gd @@ -20,7 +20,10 @@ var is_active: bool = true func _ready() -> void: $Upgrades.update() + $Shop.upgrade_node = $Upgrades + $Shop.populate() + $Shop.visible = false $FailControl.visible = false $FinishControl.visible = false is_active = true @@ -91,9 +94,11 @@ func _on_retry_button_pressed(): func _on_continue_button_pressed(): - stage_counter += 1 - station_reached.emit() - $TimeLimit.start() $FinishControl.visible = false - $HUD.visible = true - stamina = max_stamina + $Shop.visible = true + + #stage_counter += 1 + #station_reached.emit() + #$TimeLimit.start() + #$HUD.visible = true + #stamina = max_stamina diff --git a/player.tscn b/player.tscn index 565952a..a580065 100644 --- a/player.tscn +++ b/player.tscn @@ -1,6 +1,7 @@ [gd_scene format=3 uid="uid://cmb3b7xrlboy3"] [ext_resource type="Script" uid="uid://bobw4cfg1v6gj" path="res://player.gd" id="1_4flbx"] +[ext_resource type="PackedScene" uid="uid://52hoyqjot1cs" path="res://shop.tscn" id="2_i3pqv"] [ext_resource type="PackedScene" uid="uid://ct7cc7qg3hpu1" path="res://upgrades.tscn" id="2_onrkg"] [sub_resource type="PlaneMesh" id="PlaneMesh_sh265"] @@ -46,6 +47,9 @@ debug_color = Color(0.41852123, 0.4635067, 0.996484, 0.41960785) wait_time = 60.0 one_shot = true +[node name="Shop" parent="." unique_id=632945658 instance=ExtResource("2_i3pqv")] +visible = false + [node name="FinishControl" type="Control" parent="." unique_id=1717901238] layout_mode = 3 anchors_preset = 15 diff --git a/shop.gd b/shop.gd new file mode 100644 index 0000000..0f7d44a --- /dev/null +++ b/shop.gd @@ -0,0 +1,16 @@ +extends Control + +var upgrade_node: Node + +# Called when the node enters the scene tree for the first time. +func populate() -> void: + for upgrade in upgrade_node.get_children(): + $TuxUpgrades.add_item(upgrade.upgrade_name, upgrade.icon) + + +func _on_tux_mouse_entered() -> void: + $Tux.modulate = Color(0.5, 0.5, 0.6) + + +func _on_tux_mouse_exited() -> void: + $Tux.modulate = Color(1, 1, 1) diff --git a/shop.gd.uid b/shop.gd.uid new file mode 100644 index 0000000..74d39fd --- /dev/null +++ b/shop.gd.uid @@ -0,0 +1 @@ +uid://bwekjlqnn55ea diff --git a/shop.tscn b/shop.tscn new file mode 100644 index 0000000..512b22e --- /dev/null +++ b/shop.tscn @@ -0,0 +1,81 @@ +[gd_scene format=3 uid="uid://52hoyqjot1cs"] + +[ext_resource type="Script" uid="uid://bwekjlqnn55ea" path="res://shop.gd" id="1_7ae35"] +[ext_resource type="Texture2D" uid="uid://vafsec00vepj" path="res://assets/Images/tren.jpg" id="2_c0ofq"] +[ext_resource type="Texture2D" uid="uid://ci36unhukt8tl" path="res://assets/Images/penguin21.webp" id="2_f511j"] + +[node name="Shop" type="Control" unique_id=632945658] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_7ae35") + +[node name="TextureRect" type="TextureRect" parent="." unique_id=1400016957] +modulate = Color(0.4156048, 0.3595127, 0.2152954, 1) +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -577.0 +offset_top = -432.70294 +offset_right = 577.0 +offset_bottom = 432.70294 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_c0ofq") +expand_mode = 5 + +[node name="Tux" type="TextureRect" parent="." unique_id=200750690] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -431.0 +offset_top = -268.0 +offset_right = -87.0 +offset_bottom = 43.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_f511j") +expand_mode = 3 + +[node name="TuxText" type="Label" parent="." unique_id=1682412623] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -368.0 +offset_top = 25.0 +offset_right = -103.0 +offset_bottom = 93.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_font_sizes/font_size = 40 +text = "Tenda de TUX" + +[node name="TuxUpgrades" type="ItemList" parent="." unique_id=351105576] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -415.0 +offset_top = -295.0 +offset_right = -32.0 +offset_bottom = 288.0 +grow_horizontal = 2 +grow_vertical = 2 +fixed_icon_size = Vector2i(100, 100) + +[connection signal="mouse_entered" from="Tux" to="." method="_on_tux_mouse_entered"] +[connection signal="mouse_exited" from="Tux" to="." method="_on_tux_mouse_exited"] diff --git a/stamina.gd b/stamina.gd index 6ea05b4..aa6ab67 100644 --- a/stamina.gd +++ b/stamina.gd @@ -2,6 +2,11 @@ extends Node var enabled: bool = true +var upgrade_name: String = "Energia" +var upgrade_Description: String = "Multiplicar energia per 2" +var icon: Texture2D = preload("res://assets/Images/tren.jpg") + + # Called every frame. 'delta' is the elapsed time since the previous frame. func update() -> void: if enabled: diff --git a/upgrades.gd b/upgrades.gd index ace66f7..16aa5d1 100644 --- a/upgrades.gd +++ b/upgrades.gd @@ -2,6 +2,8 @@ extends Node var parent: CharacterBody3D + + # Called when the node enters the scene tree for the first time. func _ready() -> void: assert(get_parent().name == "Player", "Upgrade must have player as parent") @@ -17,3 +19,9 @@ func update() -> void: for upgrade in upgrades: upgrade.update() + +func reset(): + var upgrades: Array = get_children() + print("Updating all upgrades...") + for upgrade in upgrades: + upgrade.enabled = false