Button that enables a portal and UI timer
This commit is contained in:
parent
d607e0d45f
commit
d6d6301c7f
|
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 168 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex"
|
||||
path="res://.import/button.png-1c40827a7b86c08339ffad4b8dfd2eca.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/NeutralObjects/button.png"
|
||||
dest_files=[ "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex" ]
|
||||
source_file="res://assets/contraption/button.png"
|
||||
dest_files=[ "res://.import/button.png-1c40827a7b86c08339ffad4b8dfd2eca.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
|
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 133 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/buttonStateIndicator.png-4ad4dfff1d6add183d62f1b602452b7a.stex"
|
||||
path="res://.import/buttonStateIndicator.png-ba7e9194bffdad2fd86ec22294cee608.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/NeutralObjects/buttonStateIndicator.png"
|
||||
dest_files=[ "res://.import/buttonStateIndicator.png-4ad4dfff1d6add183d62f1b602452b7a.stex" ]
|
||||
source_file="res://assets/contraption/buttonStateIndicator.png"
|
||||
dest_files=[ "res://.import/buttonStateIndicator.png-ba7e9194bffdad2fd86ec22294cee608.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
@ -3,6 +3,7 @@ extends Node
|
||||
signal score_updated
|
||||
signal player_died
|
||||
|
||||
#TODO Easteregg pls
|
||||
var score: = 0 setget set_score
|
||||
var deaths: = 0 setget set_deaths
|
||||
|
||||
|
||||
24
src/Contraptions/Triggers/ElevatorButton.gd
Normal file
24
src/Contraptions/Triggers/ElevatorButton.gd
Normal 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")
|
||||
|
||||
|
||||
114
src/Contraptions/Triggers/ElevatorButton.tscn
Normal file
114
src/Contraptions/Triggers/ElevatorButton.tscn
Normal 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"]
|
||||
@ -1,5 +1,6 @@
|
||||
extends Node2D
|
||||
|
||||
#TODO Make indipendent from button count
|
||||
#Is emitted in child nodes
|
||||
signal child_button_activated(id)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://src/NeutralObjects/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/WhyButton.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.gd" type="Script" id=2]
|
||||
|
||||
[node name="TreeWhyButtons" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
@ -1,6 +1,6 @@
|
||||
[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]
|
||||
load_path = "res://.import/button.png-6b06252879983e2da39a6ce37483d567.stex"
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
[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://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/Actors/Enemies/Beings/Enemy.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://src/Actors/Enemies/Beings/SimpleEnemy.tscn" type="PackedScene" id=6]
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[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/Contraptions/Portal/Portal.tscn" type="PackedScene" id=4]
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
[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/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]
|
||||
vertices = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
[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/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]
|
||||
points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 )
|
||||
|
||||
@ -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/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/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/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/NeutralObjects/ThreeWhyButtons.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7]
|
||||
[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]
|
||||
|
||||
@ -20,18 +21,12 @@ __meta__ = {
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( -60, -3.8147e-06 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
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="Coin" parent="Collectibles" instance=ExtResource( 6 )]
|
||||
@ -104,6 +99,15 @@ rotation = 3.14159
|
||||
position = Vector2( 1452, -77 )
|
||||
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="TreeWhyButtons"]
|
||||
[editable path="TreeWhyButtons/WhyButton1"]
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
[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://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/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]
|
||||
@ -407,7 +407,7 @@ position = Vector2( 0, -2.52127 )
|
||||
scale = Vector2( 0.149428, 0.151196 )
|
||||
frames = SubResource( 4 )
|
||||
animation = "rotate"
|
||||
frame = 250
|
||||
frame = 176
|
||||
playing = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
|
||||
@ -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 )]
|
||||
36
src/UserInterface/Screens/HUD.gd
Normal file
36
src/UserInterface/Screens/HUD.gd
Normal 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()
|
||||
82
src/UserInterface/Screens/HUD.tscn
Normal file
82
src/UserInterface/Screens/HUD.tscn
Normal 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 )
|
||||
@ -3,16 +3,12 @@ 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 = get_node("PauseOverlay")
|
||||
onready var score: Label = get_node("Label")
|
||||
onready var pause_title: Label = get_node("PauseOverlay/Title")
|
||||
|
||||
var paused := false setget set_paused
|
||||
|
||||
|
||||
func _ready():
|
||||
PlayerData.connect("score_updated", self, "update_interface")
|
||||
PlayerData.connect("player_died", self, "_on_PlayerData_player_died")
|
||||
update_interface()
|
||||
|
||||
|
||||
func _on_PlayerData_player_died() -> void:
|
||||
@ -28,10 +24,6 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
get_tree().set_input_as_handled()
|
||||
|
||||
|
||||
func update_interface() -> void:
|
||||
score.text = "Score: %s" % PlayerData.score
|
||||
|
||||
|
||||
func set_paused(value: bool) -> void:
|
||||
paused = value
|
||||
get_tree().paused = value
|
||||
@ -4,9 +4,9 @@
|
||||
[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/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
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
@ -69,13 +69,3 @@ margin_bottom = 15.0
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
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
|
||||
4
src/UserInterface/UserInterface.gd
Normal file
4
src/UserInterface/UserInterface.gd
Normal file
@ -0,0 +1,4 @@
|
||||
extends CanvasLayer
|
||||
|
||||
signal terminal_activated()
|
||||
|
||||
16
src/UserInterface/UserInterface.tscn
Normal file
16
src/UserInterface/UserInterface.tscn
Normal 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"]
|
||||
Loading…
Reference in New Issue
Block a user