generated from krampus/template-godot4
Music playback continues quietly while paused
This commit is contained in:
parent
dc26836020
commit
05edbf5d27
@ -1,6 +1,7 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://caten2l7w1h6w"]
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -0.130497
|
||||
bus/1/name = &"Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
|
@ -85,6 +85,7 @@ offset_bottom = 76.0
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
process_mode = 3
|
||||
bus = &"Music"
|
||||
|
||||
[connection signal="pause" from="HUDTool/Rumbler/Position/HUDElement/DeviceScreenMask/SubViewportContainer/SubViewport/ScreenTransform/MP3Controller" to="." method="pause_playback"]
|
||||
|
@ -1,6 +1,8 @@
|
||||
class_name World extends Node
|
||||
## Access and flow control for the game world.
|
||||
|
||||
const MUSIC_BUS_IDX := 1
|
||||
|
||||
@export var pause_enabled := true
|
||||
|
||||
@export var save_state: SaveState
|
||||
@ -8,6 +10,8 @@ class_name World extends Node
|
||||
@export var manager: WorldManager
|
||||
@export var spook_manager: SpookManager
|
||||
|
||||
@export var pause_music_effect: AudioEffect
|
||||
|
||||
@export_category("Game Scenes")
|
||||
@export var initial_level: PackedScene
|
||||
|
||||
@ -54,6 +58,9 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
|
||||
|
||||
func pause() -> void:
|
||||
# Quiet the music
|
||||
AudioServer.add_bus_effect(MUSIC_BUS_IDX, pause_music_effect, 0)
|
||||
|
||||
get_tree().paused = true
|
||||
var pause_menu: Control = pause_scene.instantiate()
|
||||
ui_root.add_child(pause_menu)
|
||||
@ -63,6 +70,10 @@ func pause() -> void:
|
||||
func unpause() -> void:
|
||||
get_tree().paused = false
|
||||
|
||||
# Un-quiet the music
|
||||
# NOTE: if any other bus effects are added while paused, this could become inconsistent
|
||||
AudioServer.remove_bus_effect(MUSIC_BUS_IDX, 0)
|
||||
|
||||
|
||||
func load_level(level: PackedScene) -> void:
|
||||
for c: Node in level_root.get_children():
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://884jqafhtrv0"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://884jqafhtrv0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cgqmhtemibxc5" path="res://src/world/world.gd" id="1_1k4gi"]
|
||||
[ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"]
|
||||
@ -8,10 +8,14 @@
|
||||
[ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"]
|
||||
[ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]
|
||||
|
||||
[sub_resource type="AudioEffectAmplify" id="AudioEffectAmplify_5kmgb"]
|
||||
volume_db = -14.0
|
||||
|
||||
[node name="World" type="Node"]
|
||||
script = ExtResource("1_1k4gi")
|
||||
manager = ExtResource("2_5kmgb")
|
||||
spook_manager = ExtResource("3_l0av5")
|
||||
pause_music_effect = SubResource("AudioEffectAmplify_5kmgb")
|
||||
initial_level = ExtResource("4_5kmgb")
|
||||
pause_scene = ExtResource("2_6fy3g")
|
||||
kill_screen_scene = ExtResource("6_l0av5")
|
||||
|
Loading…
x
Reference in New Issue
Block a user