Button that enables a portal and UI timer

This commit is contained in:
Jakob Feldmann 2022-09-07 15:53:34 +02:00
parent d607e0d45f
commit d6d6301c7f
25 changed files with 310 additions and 53 deletions

View File

Before

Width:  |  Height:  |  Size: 168 B

After

Width:  |  Height:  |  Size: 168 B

View File

@ -2,15 +2,15 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex" path="res://.import/button.png-1c40827a7b86c08339ffad4b8dfd2eca.stex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/NeutralObjects/button.png" source_file="res://assets/contraption/button.png"
dest_files=[ "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex" ] dest_files=[ "res://.import/button.png-1c40827a7b86c08339ffad4b8dfd2eca.stex" ]
[params] [params]

View File

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 133 B

View File

@ -2,15 +2,15 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/buttonStateIndicator.png-4ad4dfff1d6add183d62f1b602452b7a.stex" path="res://.import/buttonStateIndicator.png-ba7e9194bffdad2fd86ec22294cee608.stex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/NeutralObjects/buttonStateIndicator.png" source_file="res://assets/contraption/buttonStateIndicator.png"
dest_files=[ "res://.import/buttonStateIndicator.png-4ad4dfff1d6add183d62f1b602452b7a.stex" ] dest_files=[ "res://.import/buttonStateIndicator.png-ba7e9194bffdad2fd86ec22294cee608.stex" ]
[params] [params]

View File

@ -3,6 +3,7 @@ extends Node
signal score_updated signal score_updated
signal player_died signal player_died
#TODO Easteregg pls
var score: = 0 setget set_score var score: = 0 setget set_score
var deaths: = 0 setget set_deaths var deaths: = 0 setget set_deaths

View File

@ -0,0 +1,24 @@
extends Node2D
onready var buttonPlayer = $"%ButtonPlayer"
onready var activatorArea = $"%ActivatorArea"
onready var indicatorPlayer = $"%IndicatorPlayer"
onready var elevator = get_node("./Portal")
onready var ui = get_node("../UserInterface")
func selfActivate():
indicatorPlayer.play("onning")
buttonPlayer.play("pushing")
elevator.visible = true
elevator.monitoring = true
#TODO dis importante
activatorArea.set_deferred("monitoring", false)
func _on_ActivatorArea_area_entered(_area:Area2D) -> void:
selfActivate()
if ui.has_signal("terminal_activated"):
ui.emit_signal("terminal_activated")

View File

@ -0,0 +1,114 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.gd" type="Script" id=1]
[sub_resource type="StreamTexture" id=1]
load_path = "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex"
[sub_resource type="Animation" id=2]
resource_name = "pushing"
length = 0.5
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 0.0, 1.0, 2.0 ]
}
[sub_resource type="StreamTexture" id=17]
load_path = "res://.import/buttonStateIndicator.png-4ad4dfff1d6add183d62f1b602452b7a.stex"
[sub_resource type="Animation" id=10]
length = 0.1
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=13]
resource_name = "onning"
length = 0.6
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2, 0.3, 0.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1 ),
"update": 1,
"values": [ 7.0, 8.0, 6.0, 4.0 ]
}
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 4, 1 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 6, 1 )
[node name="Terminal" type="Node2D"]
script = ExtResource( 1 )
[node name="Button" type="Sprite" parent="."]
position = Vector2( 0, -6 )
texture = SubResource( 1 )
hframes = 2
vframes = 2
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PVNwcml0ZS9BbmltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvbmV1dHJhbCBvYmplY3QvYnV0dG9uLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K"
}
[node name="ButtonPlayer" type="AnimationPlayer" parent="Button"]
unique_name_in_owner = true
anims/pushing = SubResource( 2 )
[node name="Indicator" type="Sprite" parent="."]
position = Vector2( 0, -1 )
z_index = 1
texture = SubResource( 17 )
hframes = 3
vframes = 3
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUluZGljYXRvcjIvQW5pbWF0aW9uUGxheWVyCnNvdXJjZXw9cmVzOi8vYXNzZXRzL25ldXRyYWwgb2JqZWN0L2J1dHRvblN0YXRlSW5kaWNhdG9yLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K"
}
[node name="IndicatorPlayer" type="AnimationPlayer" parent="Indicator"]
unique_name_in_owner = true
anims/offing = SubResource( 10 )
anims/onning = SubResource( 13 )
[node name="ActivatorArea" type="Area2D" parent="."]
unique_name_in_owner = true
position = Vector2( 0, -6 )
collision_layer = 24
[node name="ActivatorAreaShape" type="CollisionShape2D" parent="ActivatorArea"]
unique_name_in_owner = true
position = Vector2( 0, 3 )
shape = SubResource( 4 )
[node name="ButtonBody" type="StaticBody2D" parent="."]
unique_name_in_owner = true
position = Vector2( 0, -6 )
collision_layer = 24
[node name="CollisionShape2D" type="CollisionShape2D" parent="ButtonBody"]
position = Vector2( 0, 5 )
shape = SubResource( 3 )
[connection signal="area_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_area_entered"]

View File

@ -1,5 +1,6 @@
extends Node2D extends Node2D
#TODO Make indipendent from button count
#Is emitted in child nodes #Is emitted in child nodes
signal child_button_activated(id) signal child_button_activated(id)

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2] [gd_scene load_steps=3 format=2]
[ext_resource path="res://src/NeutralObjects/WhyButton.tscn" type="PackedScene" id=1] [ext_resource path="res://src/Contraptions/Triggers/WhyButton.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/NeutralObjects/ThreeWhyButtons.gd" type="Script" id=2] [ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.gd" type="Script" id=2]
[node name="TreeWhyButtons" type="Node2D"] [node name="TreeWhyButtons" type="Node2D"]
script = ExtResource( 2 ) script = ExtResource( 2 )

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=15 format=2] [gd_scene load_steps=15 format=2]
[ext_resource path="res://src/NeutralObjects/WhyButton.gd" type="Script" id=1] [ext_resource path="res://src/Contraptions/Triggers/WhyButton.gd" type="Script" id=1]
[sub_resource type="StreamTexture" id=1] [sub_resource type="StreamTexture" id=1]
load_path = "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex" load_path = "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex"

View File

@ -2,7 +2,7 @@
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=1] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/environment/blocks/24BlockBasic.png" type="Texture" id=2] [ext_resource path="res://assets/environment/blocks/24BlockBasic.png" type="Texture" id=2]
[ext_resource path="res://src/UserInterface/Buttons/UI.tscn" type="PackedScene" id=3] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=4] [ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Actors/Enemies/Beings/Enemy.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Actors/Enemies/Beings/Enemy.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/Actors/Enemies/Beings/SimpleEnemy.tscn" type="PackedScene" id=6] [ext_resource path="res://src/Actors/Enemies/Beings/SimpleEnemy.tscn" type="PackedScene" id=6]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=7 format=2] [gd_scene load_steps=7 format=2]
[ext_resource path="res://assets/environment/blocks/24BlockBasic.png" type="Texture" id=1] [ext_resource path="res://assets/environment/blocks/24BlockBasic.png" type="Texture" id=1]
[ext_resource path="res://src/UserInterface/Buttons/UI.tscn" type="PackedScene" id=2] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=3] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=4] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=4]

View File

@ -5,7 +5,7 @@
[ext_resource path="res://src/Contraptions/Platform/Spring.tscn" type="PackedScene" id=3] [ext_resource path="res://src/Contraptions/Platform/Spring.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/Environment/Background.tscn" type="PackedScene" id=4] [ext_resource path="res://src/Environment/Background.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Contraptions/Platform/Track.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Contraptions/Platform/Track.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/UserInterface/Buttons/UI.tscn" type="PackedScene" id=7] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7]
[sub_resource type="NavigationPolygon" id=1] [sub_resource type="NavigationPolygon" id=1]
vertices = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) vertices = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )

View File

@ -4,7 +4,7 @@
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=3] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=6] [ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/UserInterface/Buttons/UI.tscn" type="PackedScene" id=7] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7]
[sub_resource type="ConvexPolygonShape2D" id=3] [sub_resource type="ConvexPolygonShape2D" id=3]
points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 )

View File

@ -1,13 +1,14 @@
[gd_scene load_steps=10 format=2] [gd_scene load_steps=11 format=2]
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=3] [ext_resource path="res://src/HarmfulObjects/Spikes.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/Contraptions/Platform/FlyingLaserCutter.tscn" type="PackedScene" id=4] [ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/NeutralObjects/Coin.tscn" type="PackedScene" id=6] [ext_resource path="res://src/NeutralObjects/Coin.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/UserInterface/Buttons/UI.tscn" type="PackedScene" id=7] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7]
[ext_resource path="res://src/NeutralObjects/ThreeWhyButtons.tscn" type="PackedScene" id=8] [ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Levels/Enemy Test Level.tscn" type="PackedScene" id=9]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4] [sub_resource type="AnimationNodeStateMachinePlayback" id=4]
@ -20,18 +21,12 @@ __meta__ = {
[node name="UserInterface" parent="." instance=ExtResource( 7 )] [node name="UserInterface" parent="." instance=ExtResource( 7 )]
[node name="Blobby" parent="." instance=ExtResource( 2 )] [node name="Blobby" parent="." instance=ExtResource( 2 )]
position = Vector2( -60, -3.8147e-06 )
scale = Vector2( 0.878906, 0.936025 ) scale = Vector2( 0.878906, 0.936025 )
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 4 ) parameters/playback = SubResource( 4 )
[node name="FlyingLaserCutter" parent="." instance=ExtResource( 4 )]
position = Vector2( 80, 80 )
rotation = 1.5708
[node name="Portal" parent="." instance=ExtResource( 5 )]
position = Vector2( 1428, -110 )
[node name="Collectibles" type="Node2D" parent="."] [node name="Collectibles" type="Node2D" parent="."]
[node name="Coin" parent="Collectibles" instance=ExtResource( 6 )] [node name="Coin" parent="Collectibles" instance=ExtResource( 6 )]
@ -104,6 +99,15 @@ rotation = 3.14159
position = Vector2( 1452, -77 ) position = Vector2( 1452, -77 )
rotation = -1.5708 rotation = -1.5708
[node name="ElevatorButton" parent="." instance=ExtResource( 4 )]
position = Vector2( 1452, -96 )
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 5 )]
visible = false
position = Vector2( -1464, 84 )
monitoring = false
next_scene = ExtResource( 9 )
[editable path="Blobby"] [editable path="Blobby"]
[editable path="TreeWhyButtons"] [editable path="TreeWhyButtons"]
[editable path="TreeWhyButtons/WhyButton1"] [editable path="TreeWhyButtons/WhyButton1"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=320 format=2] [gd_scene load_steps=320 format=2]
[ext_resource path="res://assets/neutral object/whitegold orbicle/0020 (Klein)-fs8.png" type="Texture" id=1] [ext_resource path="res://assets/neutral object/whitegold orbicle/0020 (Klein)-fs8.png" type="Texture" id=1]
[ext_resource path="res://src/NeutralObjects/Coin.gd" type="Script" id=2] [ext_resource path="res://assets/contraption/Coin.gd" type="Script" id=2]
[ext_resource path="res://assets/neutral object/whitegold orbicle/0021 (Klein)-fs8.png" type="Texture" id=3] [ext_resource path="res://assets/neutral object/whitegold orbicle/0021 (Klein)-fs8.png" type="Texture" id=3]
[ext_resource path="res://assets/neutral object/whitegold orbicle/0023 (Klein)-fs8.png" type="Texture" id=4] [ext_resource path="res://assets/neutral object/whitegold orbicle/0023 (Klein)-fs8.png" type="Texture" id=4]
[ext_resource path="res://assets/neutral object/whitegold orbicle/0025 (Klein)-fs8.png" type="Texture" id=5] [ext_resource path="res://assets/neutral object/whitegold orbicle/0025 (Klein)-fs8.png" type="Texture" id=5]
@ -407,7 +407,7 @@ position = Vector2( 0, -2.52127 )
scale = Vector2( 0.149428, 0.151196 ) scale = Vector2( 0.149428, 0.151196 )
frames = SubResource( 4 ) frames = SubResource( 4 )
animation = "rotate" animation = "rotate"
frame = 250 frame = 176
playing = true playing = true
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -1,7 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://src/UserInterface/Buttons/UserInterface.tscn" type="PackedScene" id=1]
[node name="UserInterface" type="CanvasLayer"]
[node name="UserInterface" parent="." instance=ExtResource( 1 )]

View File

@ -0,0 +1,36 @@
extends Control
# Smart ist es die notwendigen Resourcen vor dem Skriptstart zu laden
onready var current_scene := get_tree().get_current_scene()
onready var pause_overlay: ColorRect = $HUDOverlay
onready var timer: Label = $HUDOverlay/GetBackTimer
onready var score: Label = $HUDOverlay/Score
func _ready():
#TODO Connect what HOW?
PlayerData.connect("score_updated", self, "update_interface")
update_interface()
func _process(delta):
if timer.visible:
timer.text = String(round($HUDOverlay/GetBackTimer/Timer.time_left))
func start_timer():
timer.visible = true
$HUDOverlay/GetBackTimer/Timer.start()
$HUDOverlay/GetBackTimer/AnimationPlayer.play("Redlight")
_zoom_timer()
func _zoom_timer() -> void:
var tween := create_tween()
tween.tween_property(timer, "rect_scale", Vector2(1,1), 1.0)
func update_interface() -> void:
score.text = "Score: %s" % PlayerData.score
func _on_UserInterface_terminal_activated() -> void:
start_timer()

View File

@ -0,0 +1,82 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://assets/meta/ui_theme.tres" type="Theme" id=1]
[ext_resource path="res://src/UserInterface/Screens/HUD.gd" type="Script" id=5]
[sub_resource type="Animation" id=1]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("..:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 0, 0, 0, 0 ) ]
}
[sub_resource type="Animation" id=2]
resource_name = "Redlight"
length = 2.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("..:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Color( 0.423529, 0, 0, 0.160784 ), Color( 0, 0, 0, 0 ) ]
}
[node name="HUD" type="Control"]
pause_mode = 2
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
theme = ExtResource( 1 )
script = ExtResource( 5 )
[node name="HUDOverlay" type="ColorRect" parent="."]
unique_name_in_owner = true
anchor_left = 0.5
anchor_right = 0.5
margin_left = -320.0
margin_right = 320.0
margin_bottom = 360.0
color = Color( 0, 0, 0, 0 )
[node name="Score" type="Label" parent="HUDOverlay"]
unique_name_in_owner = true
anchor_left = 1.0
anchor_right = 1.0
margin_left = -96.0001
rect_scale = Vector2( 0.590909, 0.627907 )
text = "Score: 100000000000000000"
align = 2
[node name="GetBackTimer" type="Label" parent="HUDOverlay"]
unique_name_in_owner = true
visible = false
anchor_left = 0.5
anchor_right = 0.5
margin_left = -9.0
margin_right = 9.0
margin_bottom = 14.0
rect_scale = Vector2( 5, 5 )
text = "100"
align = 2
[node name="Timer" type="Timer" parent="HUDOverlay/GetBackTimer"]
wait_time = 100.0
one_shot = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="HUDOverlay/GetBackTimer"]
anims/RESET = SubResource( 1 )
anims/Redlight = SubResource( 2 )

View File

@ -3,16 +3,12 @@ extends Control
# Smart ist es die notwendigen Resourcen vor dem Skriptstart zu laden # Smart ist es die notwendigen Resourcen vor dem Skriptstart zu laden
onready var current_scene := get_tree().get_current_scene() onready var current_scene := get_tree().get_current_scene()
onready var pause_overlay: ColorRect = get_node("PauseOverlay") onready var pause_overlay: ColorRect = get_node("PauseOverlay")
onready var score: Label = get_node("Label")
onready var pause_title: Label = get_node("PauseOverlay/Title") onready var pause_title: Label = get_node("PauseOverlay/Title")
var paused := false setget set_paused var paused := false setget set_paused
func _ready(): func _ready():
PlayerData.connect("score_updated", self, "update_interface")
PlayerData.connect("player_died", self, "_on_PlayerData_player_died") PlayerData.connect("player_died", self, "_on_PlayerData_player_died")
update_interface()
func _on_PlayerData_player_died() -> void: func _on_PlayerData_player_died() -> void:
@ -28,10 +24,6 @@ func _unhandled_input(event: InputEvent) -> void:
get_tree().set_input_as_handled() get_tree().set_input_as_handled()
func update_interface() -> void:
score.text = "Score: %s" % PlayerData.score
func set_paused(value: bool) -> void: func set_paused(value: bool) -> void:
paused = value paused = value
get_tree().paused = value get_tree().paused = value

View File

@ -4,9 +4,9 @@
[ext_resource path="res://src/UserInterface/Buttons/QuitButton.tscn" type="PackedScene" id=2] [ext_resource path="res://src/UserInterface/Buttons/QuitButton.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/UserInterface/Buttons/ChangeSceneButton.tscn" type="PackedScene" id=3] [ext_resource path="res://src/UserInterface/Buttons/ChangeSceneButton.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/UserInterface/Buttons/RetryButton.tscn" type="PackedScene" id=4] [ext_resource path="res://src/UserInterface/Buttons/RetryButton.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/UserInterface/Buttons/UserInterface.gd" type="Script" id=5] [ext_resource path="res://src/UserInterface/Screens/PauseScreen.gd" type="Script" id=5]
[node name="UserInterface" type="Control"] [node name="PauseScreen" type="Control"]
pause_mode = 2 pause_mode = 2
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
@ -69,13 +69,3 @@ margin_bottom = 15.0
size_flags_horizontal = 0 size_flags_horizontal = 0
size_flags_vertical = 0 size_flags_vertical = 0
text = "Pause" text = "Pause"
[node name="Label" type="Label" parent="."]
anchor_left = 1.0
anchor_right = 1.0
margin_left = -96.0001
margin_right = -17.0001
margin_bottom = 24.0
rect_scale = Vector2( 0.590909, 0.627907 )
text = "Score: %s"
align = 2

View File

@ -0,0 +1,4 @@
extends CanvasLayer
signal terminal_activated()

View File

@ -0,0 +1,16 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://src/UserInterface/Screens/PauseScreen.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/UserInterface/Screens/HUD.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/UserInterface/UserInterface.gd" type="Script" id=3]
[node name="UserInterface" type="CanvasLayer"]
layer = 2
script = ExtResource( 3 )
[node name="HUD" parent="." instance=ExtResource( 2 )]
[node name="PauseScreen" parent="." instance=ExtResource( 1 )]
mouse_filter = 1
[connection signal="terminal_activated" from="." to="HUD" method="_on_UserInterface_terminal_activated"]