Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/WaterAmbience.cs
2026-03-04 10:03:45 +08:00

46 lines
1.1 KiB
C#

using System.Collections.Generic;
using System.Linq;
using DarkTonic.MasterAudio;
using UnityEngine;
public class WaterAmbience : MonoBehaviour
{
[SerializeField]
private string waterSoundName;
[SerializeField]
private List<Collider> colliders = new List<Collider>();
[SerializeField]
private Transform playerAudioFollower;
private void Start()
{
colliders = GetComponentsInChildren<Collider>().ToList();
MasterAudio.PlaySound3DFollowTransform(waterSoundName, playerAudioFollower, Singleton<SaveDataManager>.Instance.SettingsData.UnderwaterVolume).ActingVariation.VarAudio.loop = true;
}
private void FixedUpdate()
{
Vector3 position = FScriptsHandler.Instance.PlayerTransformPoint.position;
float num = float.PositiveInfinity;
Vector3 position2 = Vector3.zero;
foreach (Collider collider in colliders)
{
Vector3 vector = collider.ClosestPoint(position);
float num2 = Vector3.Distance(vector, position);
if (num2 < num)
{
num = num2;
position2 = vector;
}
}
playerAudioFollower.position = position2;
}
private void OnDestroy()
{
MasterAudio.StopAllOfSound(waterSoundName);
}
}