Beispiel #1
0
 public void Setup(AudioClipManager.AudioClipInfo clip)
 {
     this.clip            = clip;
     previewImage.texture = clip.preview;
     clipNameText.text    = clip.clip.name;
     Expand(false);
 }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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;
    }
Beispiel #4
0
 void ExpandClip(AudioClipManager.AudioClipInfo clip)
 {
     foreach (var uip in audioClips)
     {
         if (uip.clip == clip)
         {
             uip.Expand(!uip.isExpanded);
         }
         else
         {
             uip.Expand(false);
         }
     }
 }
Beispiel #5
0
    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);
    }
Beispiel #6
0
    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();
                // }
            }
        });
    }
Beispiel #7
0
    /// <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;
    }
Beispiel #8
0
 void PlayClip(AudioClipManager.AudioClipInfo clip)
 {
     audioSource.PlayOneShot(clip.clip);
 }