You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/3rd/D2D_Scripts/Audio/SoundPresetPlayer.cs

49 lines
1.2 KiB
C#

3 months ago
using UnityEngine;
using System;
using System.Collections;
using System.Linq;
using D2D.Utilities;
using D2D;
using D2D.Gameplay;
using static D2D.Utilities.SettingsFacade;
using static D2D.Utilities.CommonLazyFacade;
using static D2D.Utilities.CommonGameplayFacade;
namespace D2D
{
public class SoundPresetPlayer : SmartScript
{
public SoundPreset[] soundPresets;
private AudioSource _audioSource;
private void Start()
{
Reinit();
if (_audioSource.playOnAwake)
_audioSource.Play();
}
private void Reinit()
{
var preset = soundPresets.GetRandomElement();
if (_audioSource == null)
_audioSource = Get<AudioSource>();
if (preset.clips.IsNullOrEmpty())
return;
_audioSource.clip = preset.clips.GetRandomElement();
_audioSource.pitch = preset.pitch.RandomFloat();
_audioSource.volume = preset.volume.RandomFloat();
}
public void Play()
{
Reinit();
_audioSource.Play();
}
}
}