using System; using UnityEngine; public class DynamicSound : ISoundPlayer { public string Name { get; set; } public AudioSource Player { get; set; } public DynamicSound.GetDynamicsFunction volumeFunc; public delegate void GetDynamicsFunction(AudioSource source, float dt); public void Update(float dt) { this.volumeFunc(this.Player, dt); } public void SetTarget(AudioClip clip, DynamicSound.GetDynamicsFunction volumeFunc) { this.volumeFunc = volumeFunc; this.Player.clip = clip; this.volumeFunc(this.Player, 1f); this.Player.Play(); } }