public void Update() { if (AudioSource == null) { return; } if (AudioSource.isPlaying && !_startedPlaying) { _startedPlaying = true; } if (_startedPlaying && !AudioSource.isPlaying && !AudioSource.loop) { FinishedPlaying.InvokeSafe(this); _startedPlaying = false; } }