Procházet zdrojové kódy

Add counter for collected chocolate bars

DricomDragon před 3 měsíci
rodič
revize
e80301f3e0

+ 0 - 1
godot/component/entity/collectibles/chocolate/chocolate.gd

@@ -3,7 +3,6 @@ extends Area3D
 
 
 func _on_body_entered(body: Node3D) -> void:
-	print("Body entered in chocolate : ", body)
 	if body is Walker:
 		_give_chocolate_to(body)
 

+ 2 - 1
godot/component/entity/walker/walker.gd

@@ -6,6 +6,7 @@ signal focus_required(me: Node3D)
 signal got_in
 signal got_out
 signal can_get_in(possible: bool)
+signal chocolate_collected
 
 ## How fast the player moves in meters per second.
 @export var speed = 14
@@ -56,7 +57,7 @@ func can_get_in_vehicle() -> bool:
 
 ## Give this walker a chocolate bar
 func give_chocolate():
-	print("Yum, chocolate !")
+	chocolate_collected.emit()
 
 
 func _physics_process(delta: float) -> void:

+ 15 - 0
godot/component/ui/hud/chocolate_gauge/chocolate_gauge.gd

@@ -0,0 +1,15 @@
+class_name ChocolateGauge
+extends PanelContainer
+
+var chocolate_count := 0
+
+@onready var chocolateCounter: Label = %ChocolateCounter
+
+
+func increment_chocolate(count: int) -> void:
+	chocolate_count += count
+	chocolateCounter.set_text(str(chocolate_count))
+
+
+func _on_main_walker_chocolate_collected() -> void:
+	increment_chocolate(1)

+ 27 - 0
godot/component/ui/hud/chocolate_gauge/chocolate_gauge.tscn

@@ -0,0 +1,27 @@
+[gd_scene load_steps=2 format=3 uid="uid://cqkond8xwtdv5"]
+
+[ext_resource type="Script" path="res://component/ui/hud/chocolate_gauge/chocolate_gauge.gd" id="1_bmn7t"]
+
+[node name="ChocolateGauge" type="PanelContainer"]
+anchors_preset = 3
+anchor_left = 1.0
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -40.0
+offset_top = -40.0
+grow_horizontal = 0
+grow_vertical = 0
+script = ExtResource("1_bmn7t")
+
+[node name="HBoxContainer" type="HBoxContainer" parent="."]
+layout_mode = 2
+
+[node name="ChocolateLabel" type="Label" parent="HBoxContainer"]
+layout_mode = 2
+text = "Chocolate = "
+
+[node name="ChocolateCounter" type="Label" parent="HBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+text = "0"

+ 5 - 1
godot/run/levels/infinite_level.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=32 format=3 uid="uid://7ivipmwaw24t"]
+[gd_scene load_steps=33 format=3 uid="uid://7ivipmwaw24t"]
 
 [ext_resource type="Texture2D" uid="uid://cgwafs6ukpm7y" path="res://component/entity/ground/ground051.jpg" id="1_3ytcp"]
 [ext_resource type="Script" path="res://run/levels/camera_tracker.gd" id="1_qdm47"]
@@ -24,6 +24,7 @@
 [ext_resource type="PackedScene" uid="uid://d6a3dml2i2qm" path="res://component/ui/input_prompts/jump/jump_container.tscn" id="17_6r3c0"]
 [ext_resource type="PackedScene" uid="uid://dl6fmkdlrcj53" path="res://component/ui/input_prompts/get_in/get_in_container.tscn" id="18_bejgn"]
 [ext_resource type="Script" path="res://flow/signal_wire/space_limit.gd" id="19_3qyrt"]
+[ext_resource type="PackedScene" uid="uid://cqkond8xwtdv5" path="res://component/ui/hud/chocolate_gauge/chocolate_gauge.tscn" id="23_wh0jf"]
 
 [sub_resource type="BoxShape3D" id="BoxShape3D_ctk0t"]
 size = Vector3(500, 10, 500)
@@ -441,6 +442,8 @@ layout_mode = 2
 [node name="VictoryMenu" parent="UI" instance=ExtResource("17_1u7wg")]
 visible = false
 
+[node name="ChocolateGauge" parent="UI" instance=ExtResource("23_wh0jf")]
+
 [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
 environment = SubResource("Environment_jdyq3")
 
@@ -473,6 +476,7 @@ transform = Transform3D(-1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0)
 shape = SubResource("WorldBoundaryShape3D_cdiox")
 
 [connection signal="can_get_in" from="MainWalker" to="UI/InputPromptsCenter/InputPromptsCollection/GetInPromptContainer" method="set_visible"]
+[connection signal="chocolate_collected" from="MainWalker" to="UI/ChocolateGauge" method="_on_main_walker_chocolate_collected"]
 [connection signal="focus_required" from="MainWalker" to="CameraTracker" method="_on_focus_required"]
 [connection signal="got_in" from="MainWalker" to="MusicPlayer" method="_on_driver_got_in"]
 [connection signal="got_in" from="MainWalker" to="UI/InputPromptsCenter/InputPromptsCollection/GetInPromptContainer" method="hide"]