private void PlaySound(IntPtr tag, int data, float volume, float pan, float pitch, bool mode3D, float x, float y, float z, float distance) { if (data <= 0) { return; } SoundResource resource = soundList[data - 1]; if (resource == null) { return; } foreach (var instance in soundInstanceList) { if (!instance.CheckPlaying()) { instance.Play(tag.ToString(), resource.audio, volume, pan, pitch, mode3D, x, y, z, distance); break; } } }