public override void OnPreviewSettings() { if (s_DefaultIcon == null) { Init(); } AudioClip clip = target as AudioClip; m_MultiEditing = targets.Length > 1; { using (new EditorGUI.DisabledScope(m_MultiEditing && !playing)) { bool newPlaying = GUILayout.Toggle(playing, s_PlayIcon, EditorStyles.toolbarButton); if (newPlaying != playing) { if (newPlaying) { PlayClip(clip, 0, s_Loop); } else { AudioUtil.StopAllPreviewClips(); m_Clip = null; } } } using (new EditorGUI.DisabledScope(m_MultiEditing)) { s_AutoPlay = s_AutoPlay && !m_MultiEditing; s_AutoPlay = GUILayout.Toggle(s_AutoPlay, s_AutoPlayIcon, EditorStyles.toolbarButton); } bool loop = s_Loop; s_Loop = GUILayout.Toggle(s_Loop, s_LoopIcon, EditorStyles.toolbarButton); if ((loop != s_Loop) && playing) { AudioUtil.LoopPreviewClip(s_Loop); } } }