public void Setup(AudioClipManager.AudioClipInfo clip) { this.clip = clip; previewImage.texture = clip.preview; clipNameText.text = clip.clip.name; Expand(false); }
public bool ShowAudioClipPicker(string title, AudioClipManager.AudioClipInfo previousClip, System.Action <bool, AudioClipManager.AudioClipInfo> closeAction) { bool ret = !audioClipPicker.isShown; if (ret) { audioClipPicker.Show(title, previousClip, closeAction); } return(ret); }
void Hide(bool result, AudioClipManager.AudioClipInfo clip) { foreach (var uipattern in patterns) { DestroyClipToken(uipattern); } patterns.Clear(); gameObject.SetActive(false); closeAction?.Invoke(result, clip); closeAction = null; }
void ExpandClip(AudioClipManager.AudioClipInfo clip) { foreach (var uip in audioClips) { if (uip.clip == clip) { uip.Expand(!uip.isExpanded); } else { uip.Expand(false); } } }
UIAudioClipPickerToken CreateClipToken(AudioClipManager.AudioClipInfo clip) { // Create the gameObject var ret = GameObject.Instantiate <UIAudioClipPickerToken>(clipTokenPrefab, Vector3.zero, Quaternion.identity, contentRoot.transform); // When we click on the pattern main button, go to the edit page ret.onClick.AddListener(() => Hide(true, ret.clip)); ret.onPlay.AddListener(() => PlayClip(clip)); addAudioClipButton.transform.SetAsLastSibling(); // Initialize it ret.Setup(clip); return(ret); }
void DeleteClip(AudioClipManager.AudioClipInfo clip) { PixelsApp.Instance.ShowDialogBox("Delete AudioClip?", "Are you sure you want to delete " + clip.clip.name + "?", "Ok", "Cancel", res => { if (res) { // var dependentActions = AppDataSet.Instance.CollectActionsForAudioClip(clip); // if (dependentActions.Any()) // { // StringBuilder builder = new StringBuilder(); // builder.Append("The following presets depend on "); // builder.Append(behavior.name); // builder.AppendLine(":"); // foreach (var b in dependentPresets) // { // builder.Append("\t"); // builder.AppendLine(b.name); // } // builder.Append("Are you sure you want to delete it?"); // PixelsApp.Instance.ShowDialogBox("Behavior In Use!", builder.ToString(), "Ok", "Cancel", res2 => // { // if (res2) // { // AppDataSet.Instance.DeleteBehavior(behavior); // AppDataSet.Instance.SaveData(); // RefreshView(); // } // }); // } // else // { // AppDataSet.Instance.DeleteBehavior(behavior); // AppDataSet.Instance.SaveData(); // RefreshView(); // } } }); }
/// <summary> /// Invoke the color picker /// </sumary> public void Show(string title, AudioClipManager.AudioClipInfo previousClip, System.Action <bool, AudioClipManager.AudioClipInfo> closeAction) { if (isShown) { Debug.LogWarning("Previous AudioClip picker still active"); ForceHide(); } foreach (var clip in AudioClipManager.Instance.audioClips) { // New clip var newClipUI = CreateClipToken(clip); newClipUI.SetSelected(clip == previousClip); patterns.Add(newClipUI); } gameObject.SetActive(true); currentClip = previousClip; titleText.text = title; this.closeAction = closeAction; }
void PlayClip(AudioClipManager.AudioClipInfo clip) { audioSource.PlayOneShot(clip.clip); }