Added sound playing

This commit is contained in:
2025-12-25 21:51:50 +03:00
parent 26c00847c1
commit 48a2b8ab74
3 changed files with 58 additions and 35 deletions
+45 -31
View File
@@ -8,36 +8,26 @@ const SFX_BUS = "SFX"
const MUSIC_BUS = "Music" const MUSIC_BUS = "Music"
enum UISound { @export_group("Pitch settings", "pitch")
UI_ACCEPT, @export_range(0.5, 1.5, 0.05) var putch_ui_min := 1.0
UI_DECLINE, @export_range(0.5, 1.5, 0.05) var putch_ui_max := 1.0
UI_NEXT, @export_range(0.5, 1.5, 0.05) var putch_sfx_min := 1.0
UI_PREVIOUS, @export_range(0.5, 1.5, 0.05) var putch_sfx_max := 1.0
}
enum SFXSound {
}
enum Music {
}
@export_group("Number of players", "player_count") @export_group("Number of players", "player_count")
@export_range(1, 10) var player_count_ui := 1 @export_range(1, 10) var player_count_ui := 1
@export_range(1, 100) var player_count_sfx := 1 @export_range(1, 100) var player_count_sfx := 1
@export_group("UI Sounds", "ui") @export_group("UI Sounds", "ui")
@export var ui_accept : AudioStream @export var ui_stream_accept : AudioStream
@export var ui_decline : AudioStream @export var ui_stream_decline : AudioStream
@export var ui_next : AudioStream @export var ui_stream_next : AudioStream
@export var ui_previous : AudioStream @export var ui_stream_previous : AudioStream
var ui_players : Array[AudioStreamPlayer] = [] var _ui_players : Array[AudioStreamPlayer] = []
var sfx_players : Array[AudioStreamPlayer2D] = [] var _sfx_players : Array[AudioStreamPlayer2D] = []
var music_player : AudioStreamPlayer var _music_player : AudioStreamPlayer
func _ready() -> void: func _ready() -> void:
@@ -46,33 +36,57 @@ func _ready() -> void:
_create_music_player() _create_music_player()
func play_ui_sound(sound: UISound) -> void: func play_ui_stream(stream: AudioStream) -> void:
pass var player := _get_free_player(_ui_players)
player.stream = stream
player.pitch_scale = randf_range(putch_ui_min, putch_ui_max)
player.play()
func play_sfx_sound(sound: SFXSound) -> void: func play_sfx_stream(stream: AudioStream) -> void:
pass var player := _get_free_2d_player(_sfx_players)
player.stream = stream
player.pitch_scale = randf_range(putch_ui_min, putch_ui_max)
player.play()
func play_music(music: Music) -> void: func play_music_stream(stream: AudioStream) -> void:
pass _music_player.stream = stream
_music_player.play()
func _create_ui_players() -> void: func _create_ui_players() -> void:
for i in range(player_count_ui): for i in range(player_count_ui):
var player : AudioStreamPlayer = AudioStreamPlayer.new() var player : AudioStreamPlayer = AudioStreamPlayer.new()
player.bus = UI_BUS player.bus = UI_BUS
ui_players.append(player) _ui_players.append(player)
add_child(player)
func _create_sfx_players() -> void: func _create_sfx_players() -> void:
for i in range(player_count_sfx): for i in range(player_count_sfx):
var player : AudioStreamPlayer2D = AudioStreamPlayer2D.new() var player : AudioStreamPlayer2D = AudioStreamPlayer2D.new()
player.bus = SFX_BUS player.bus = SFX_BUS
sfx_players.append(player) _sfx_players.append(player)
add_child(player)
func _create_music_player() -> void: func _create_music_player() -> void:
var player : AudioStreamPlayer = AudioStreamPlayer.new() var player : AudioStreamPlayer = AudioStreamPlayer.new()
player.bus = MUSIC_BUS player.bus = MUSIC_BUS
music_player = player _music_player = player
add_child(player)
func _get_free_player(players: Array[AudioStreamPlayer]) -> AudioStreamPlayer:
for player in players:
if not player.playing:
return player
return players[0]
func _get_free_2d_player(players: Array[AudioStreamPlayer2D]) -> AudioStreamPlayer2D:
for player in players:
if not player.playing:
return player
return players[0]
+8 -4
View File
@@ -8,9 +8,13 @@
[node name="SoundManager" type="Node"] [node name="SoundManager" type="Node"]
script = ExtResource("1_cg0sy") script = ExtResource("1_cg0sy")
putch_ui_min = 0.95
putch_ui_max = 1.05
putch_sfx_min = 0.95
putch_sfx_max = 1.05
player_count_ui = 4 player_count_ui = 4
player_count_sfx = 50 player_count_sfx = 50
ui_accept = ExtResource("2_agyxs") ui_stream_accept = ExtResource("2_agyxs")
ui_decline = ExtResource("3_0i6kl") ui_stream_decline = ExtResource("3_0i6kl")
ui_next = ExtResource("4_fpnh3") ui_stream_next = ExtResource("4_fpnh3")
ui_previous = ExtResource("5_22ptj") ui_stream_previous = ExtResource("5_22ptj")
+5
View File
@@ -51,20 +51,25 @@ func _setup_neighbors() -> void:
func _on_continue_button_pressed() -> void: func _on_continue_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
continue_game.emit() continue_game.emit()
func _on_start_button_pressed() -> void: func _on_start_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
new_game.emit() new_game.emit()
func _on_options_button_pressed() -> void: func _on_options_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
show_options.emit() show_options.emit()
func _on_credits_button_pressed() -> void: func _on_credits_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
show_credits.emit() show_credits.emit()
func _on_quit_button_pressed() -> void: func _on_quit_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_decline)
quit_game.emit() quit_game.emit()