void PrepareAudioSource(bool isLoopStart) { AudioSource audioSource = sound.audioSource; SoundInfo soundInfo = sound.soundInfo; audioSource.transform.position = position; if (!isLoopStart || (soundInfo.looping && soundInfo.randomClipWhenLooping)) { audioSource.clip = soundInfo.GetAudioClip(); } audioSource.volume = soundInfo.GetVolume(); audioSource.loop = false; if (soundInfo.looping && !(soundInfo.delayAtNextStartWhenLooping || soundInfo.randomClipWhenLooping)) { audioSource.loop = true; } if (soundInfo.randomPitch) { audioSource.pitch = soundInfo.GetRandomPitch(); } }