forked from team-sg/hero-mark-2
55 lines
2.2 KiB
GDScript
55 lines
2.2 KiB
GDScript
extends Node
|
|
|
|
#Audio Channels
|
|
onready var ac_jump = $JumpSound
|
|
onready var ac_collectible = $CollectibleSound
|
|
onready var ac_climb = $ClimbSound
|
|
onready var ac_die = $DieSound
|
|
onready var ac_music = $Music
|
|
onready var ac_cheat = $CodeEntrySound
|
|
onready var ac_boss = $BossSound
|
|
onready var ac_shard = $ShardSound
|
|
#Sounds
|
|
const a_gold = preload("res://audio/sounds/key.wav")
|
|
const a_arrow = preload("res://audio/sounds/a_egg_collect.ogg")
|
|
const a_jump = preload("res://audio/sounds/jump.ogg")
|
|
const a_star = preload("res://audio/sounds/star.ogg")
|
|
const a_shard = preload("res://audio/sounds/shard.wav")
|
|
const a_climb_up = preload("res://audio/sounds/a_climb.ogg")
|
|
const a_climb_down = preload("res://audio/sounds/a_bmilc.ogg")
|
|
const a_sword = preload("res://audio/sounds/sword.ogg")
|
|
const a_doublejump = preload("res://audio/sounds/a_bree.wav")
|
|
const a_shoot = preload("res://audio/sounds/a_egg_shoot.ogg")
|
|
const a_die = preload("res://audio/sounds/die.wav")
|
|
const a_die_skeleton = preload("res://audio/sounds/die_skeleton.wav")
|
|
const a_scrump_die = preload("res://audio/sounds/scrump_die.wav")
|
|
const a_die_robot = preload("res://audio/sounds/die_robot.wav")
|
|
const a_gover = preload("res://audio/sounds/gover.wav")
|
|
const a_boss_hurt = preload("res://audio/sounds/boss_hurt.wav")
|
|
const a_bubble = preload("res://audio/sounds/bubble.wav")
|
|
const a_select = preload("res://audio/sounds/select.wav")
|
|
const a_confirm = preload("res://audio/sounds/confirm.wav")
|
|
const a_bullet_barrage = preload("res://audio/sounds/bullet_barrage.ogg")
|
|
const a_rainbow_laser = preload("res://audio/sounds/rainbow_laser.ogg")
|
|
|
|
#Plays a sound
|
|
func play_sound(snd,player):
|
|
player.set_stream(snd)
|
|
player._set_playing(true)
|
|
|
|
#Play music, if same track is already playing do nothing
|
|
func play_music(song):
|
|
if Audio.ac_music.stream != song or Audio.ac_music.playing == false:
|
|
play_sound(song,ac_music)
|
|
|
|
#Play shard sound, this silences all other sounds including music until the sound ends
|
|
func play_shard_sound():
|
|
var idx = AudioServer.get_bus_index("sound")
|
|
AudioServer.set_bus_mute(idx, true)
|
|
ac_music.set_stream_paused(true)
|
|
play_sound(a_shard,ac_shard)
|
|
|
|
func _on_ShardSound_finished():
|
|
var idx = AudioServer.get_bus_index("sound")
|
|
AudioServer.set_bus_mute(idx, false)
|
|
ac_music.set_stream_paused(false)
|