feat: add closed door node; add 2 new signals to puzzleButton node; connected signals to lockedDoor node;

This commit is contained in:
2026-09-18 20:52:17 +02:00
parent 0d6bfd6e90
commit 4234167cc1
5 changed files with 44 additions and 2 deletions
+9
View File
@@ -6,6 +6,8 @@
[ext_resource type="Texture2D" uid="uid://c3l7w3n700qx3" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetReliefDetail.png" id="3_oi8ly"]
[ext_resource type="PackedScene" uid="uid://dhvuy8co661xo" path="res://Scenes/SceneEntrance/scene_entrance.tscn" id="5_oi8ly"]
[ext_resource type="PackedScene" uid="uid://orvnsdbeji56" path="res://Scenes/Block/block.tscn" id="6_12ovb"]
[ext_resource type="PackedScene" uid="uid://dfu6aj67vqwfn" path="res://Scenes/LockedDoor/locked_door.tscn" id="6_elpgg"]
[ext_resource type="Script" uid="uid://decx4kt8ftrb5" path="res://Scenes/LockedDoor/locked_door.gd" id="7_nr542"]
[ext_resource type="PackedScene" uid="uid://onpen57mc6i8" path="res://Scenes/PuzzleButton/puzzle_button.tscn" id="7_ohrk8"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_04h35"]
@@ -804,9 +806,16 @@ push_strength = 100
[node name="Camera2D" type="Camera2D" parent="ObstacleLayer/Player" unique_id=1335060572]
zoom = Vector2(5, 5)
[node name="LockedDoor" parent="ObstacleLayer" unique_id=964088255 instance=ExtResource("6_elpgg")]
position = Vector2(31, -32)
script = ExtResource("7_nr542")
[node name="SceneEntrance" parent="." unique_id=1734357035 instance=ExtResource("5_oi8ly")]
position = Vector2(136, -108)
[node name="Block" parent="." unique_id=2096944035 instance=ExtResource("6_12ovb")]
position = Vector2(0, -33)
lock_rotation = true
[connection signal="pressed" from="PuzzleButton" to="ObstacleLayer/LockedDoor" method="_on_puzzle_button_pressed"]
[connection signal="unpressed" from="PuzzleButton" to="ObstacleLayer/LockedDoor" method="_on_puzzle_button_unpressed"]
+11
View File
@@ -0,0 +1,11 @@
extends StaticBody2D
func _on_puzzle_button_pressed() -> void:
visible = false
$CollisionShape2D.set_deferred("disabled", true)
func _on_puzzle_button_unpressed() -> void:
visible = true
$CollisionShape2D.set_deferred("disabled", false)
+1
View File
@@ -0,0 +1 @@
uid://decx4kt8ftrb5
+18
View File
@@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://dfu6aj67vqwfn"]
[ext_resource type="Texture2D" uid="uid://c3l7w3n700qx3" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetReliefDetail.png" id="1_vst31"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_chgu2"]
size = Vector2(16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_chgu2"]
atlas = ExtResource("1_vst31")
region = Rect2(32, 48, 15, 15)
[node name="LockedDoor" type="StaticBody2D" unique_id=964088255]
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1293530655]
shape = SubResource("RectangleShape2D_chgu2")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1495827892]
texture = SubResource("AtlasTexture_chgu2")
+5 -2
View File
@@ -1,5 +1,8 @@
extends Area2D
var bodies_on_top = 0
signal pressed
signal unpressed
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
@@ -14,11 +17,11 @@ func _on_body_entered(body: Node2D) -> void:
bodies_on_top = bodies_on_top + 1
if (body.is_in_group("pushable") or body is Player) and bodies_on_top == 1:
$AnimatedSprite2D.play("pressed")
print("PRESSED!")
pressed.emit()
func _on_body_exited(body: Node2D) -> void:
bodies_on_top = bodies_on_top - 1
if (body.is_in_group("pushable") or body is Player) and bodies_on_top == 0:
$AnimatedSprite2D.play("unpressed")
print("UNPRESSED!")
unpressed.emit()