[gd_scene load_steps=9 format=3 uid="uid://cac5cla8jdogn"] [ext_resource type="Texture2D" uid="uid://dsapnb753puib" path="res://assets/textures/spritesheets/dark_house_assets.png" id="1_s5xo4"] [ext_resource type="PackedScene" uid="uid://n24dhbpflcec" path="res://scenes/interactable.tscn" id="2_ljyl3"] [sub_resource type="GDScript" id="GDScript_enrye"] script/source = "extends StaticBody2D @onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var anti_softlock_marker: Marker2D = $AntiSoftlockMarker var open: bool = false var open1: bool = true func _on_interactable_interacted(_player: Player) -> void: if !open: animation_player.play(\"open\") open = true func _on_interactable_body_exited(body: Node2D) -> void: if open1 && body is Player: animation_player.speed_scale = 4 animation_player.play_backwards(\"open\") open1 = false await animation_player.animation_finished body.global_position = anti_softlock_marker.global_position " [sub_resource type="AtlasTexture" id="AtlasTexture_nmjqc"] atlas = ExtResource("1_s5xo4") region = Rect2(160, 64, 32, 64) [sub_resource type="Animation" id="Animation_ra1dx"] resource_name = "open" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:texture:region") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Rect2(160, 64, 32, 64), Rect2(144, 64, 32, 64)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CollisionShape2D2:shape:size") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(48, 5), Vector2(16, 5)] } [sub_resource type="Animation" id="Animation_xbx8n"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:texture:region") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Rect2(160, 64, 32, 64)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CollisionShape2D2:shape:size") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(48, 5)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_clxe4"] _data = { &"RESET": SubResource("Animation_xbx8n"), &"open": SubResource("Animation_ra1dx") } [sub_resource type="RectangleShape2D" id="RectangleShape2D_xpwqa"] size = Vector2(48, 5) [node name="DarkHouseDoor" type="StaticBody2D"] script = SubResource("GDScript_enrye") [node name="Sprite2D" type="Sprite2D" parent="."] position = Vector2(32, -16) texture = SubResource("AtlasTexture_nmjqc") [node name="Sprite2D2" type="Sprite2D" parent="."] position = Vector2(0, -16) texture = SubResource("AtlasTexture_nmjqc") flip_h = true [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_clxe4") } [node name="Interactable" parent="." instance=ExtResource("2_ljyl3")] position = Vector2(16, 20) auto_interact = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(-8, 13.5) shape = SubResource("RectangleShape2D_xpwqa") [node name="CollisionShape2D2" type="CollisionShape2D" parent="."] position = Vector2(40, 14) shape = SubResource("RectangleShape2D_xpwqa") [node name="AntiSoftlockMarker" type="Marker2D" parent="."] position = Vector2(16, -26) [connection signal="body_exited" from="Interactable" to="." method="_on_interactable_body_exited"] [connection signal="interacted" from="Interactable" to="." method="_on_interactable_interacted"]