From af4bece55465c2ff420e6eed3634f90b8a321584 Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Sat, 8 Mar 2025 16:33:05 -0500 Subject: [PATCH] Use global sounds system in end door --- autoloads/scene_manager.gd | 1 - objects/end_door/end_door.gd | 13 ++++--------- objects/end_door/end_door.tscn | 16 ++++++++++++---- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/autoloads/scene_manager.gd b/autoloads/scene_manager.gd index ca9f723..6258ad2 100644 --- a/autoloads/scene_manager.gd +++ b/autoloads/scene_manager.gd @@ -28,7 +28,6 @@ enum ScaleMode { ProjectSettings.get_setting("display/window/size/viewport_height") ) -@onready var win_sound = $WinSound ## The currently active scene. ## diff --git a/objects/end_door/end_door.gd b/objects/end_door/end_door.gd index ece7293..7f6eee6 100644 --- a/objects/end_door/end_door.gd +++ b/objects/end_door/end_door.gd @@ -1,18 +1,13 @@ extends Node2D -@export var next_map:PackedScene -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. +signal door_entered() -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - pass +@export var next_map: PackedScene -func _on_area_2d_body_entered(body: Node2D) -> void: +func _on_player_detector_body_entered(body: Node2D) -> void: if body is Player: + door_entered.emit() SceneManager.current_scene = next_map.instantiate() - SceneManager.win_sound.play() diff --git a/objects/end_door/end_door.tscn b/objects/end_door/end_door.tscn index 858971d..8976ee9 100644 --- a/objects/end_door/end_door.tscn +++ b/objects/end_door/end_door.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://bhnse651bcybm"] +[gd_scene load_steps=5 format=3 uid="uid://bhnse651bcybm"] [ext_resource type="Texture2D" uid="uid://bwq21el575t1g" path="res://assets/textures/door/door.png" id="1_4beu0"] [ext_resource type="Script" uid="uid://b3ynfi0yyc7t5" path="res://objects/end_door/end_door.gd" id="1_ph88k"] +[ext_resource type="Script" uid="uid://cg3hwyafaokvs" path="res://scripts/global_sound_player/global_sound_player.gd" id="3_8mj78"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_qkffx"] size = Vector2(16, 16) @@ -12,11 +13,18 @@ script = ExtResource("1_ph88k") [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("1_4beu0") -[node name="Area2D" type="Area2D" parent="."] +[node name="PlayerDetector" type="Area2D" parent="."] collision_mask = 16 +monitorable = false -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetector"] shape = SubResource("RectangleShape2D_qkffx") debug_color = Color(0, 1, 0.701961, 0.419608) -[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"] +[node name="GlobalSoundPlayer" type="Node" parent="."] +script = ExtResource("3_8mj78") +sound = &"WinSound" +metadata/_custom_type_script = "uid://cg3hwyafaokvs" + +[connection signal="door_entered" from="." to="GlobalSoundPlayer" method="play"] +[connection signal="body_entered" from="PlayerDetector" to="." method="_on_player_detector_body_entered"]