extends AudioStreamPlayer

export var base_volume: float = -15.0
export var base_pitch: float = 1.0
export var submerged_volume: float = 5.0
export var submerged_pitch: float = 0.75
export var pit_volume: float = 2
export var pit_pitch: float = 0.25

func _ready():
	var _ignore = GlobalEventBus.connect("player_entered_meat_sink", self, "enter_water")
	_ignore = GlobalEventBus.connect("player_exited_meat_sink", self, "exit_water")
	volume_db = base_volume

var water = 0

func enter_water():
	water += 1

func exit_water():
	water -= 1

func _process(delta):
	var target_volume = base_volume
	var target_pitch = base_pitch
	if water:
		target_volume = submerged_volume
		target_pitch = submerged_pitch
	if Util.player.camera_position().y <= -18:
		target_volume = pit_volume
		target_pitch = pit_pitch
	volume_db = Util.clamped_lerp(volume_db, target_volume, delta*5, 0.01)
	pitch_scale = Util.clamped_lerp(pitch_scale, target_pitch, delta*5, 0.01)