public static Task GetClip(string uuid, Callback.GetClip callback)
        {
            string uri = apiUri + "/projects/" + Settings.projectUUID + "/clips/" + uuid;

            return(EnqueueTask(uri, Task.Type.Get, (string content, Error error) =>
            {
                callback.Method.Invoke(callback.Target, error ? new object[] { null, error } :
                                       new object[] { ResembleClip.FromJson(content), Error.None });
            }));
        }
        public void ImportClip(ResembleClip source)
        {
            Clip clip = CreateInstance <Clip>();

            clip.text     = new Text();
            clip.uuid     = source.uuid;
            clip.name     = source.uuid + "-" + source.title;
            clip.clipName = source.title;
            clip.text.ParseResembleString(source.body);
            AddClipToAsset(clip);
        }
        /// <summary> Draw an asset and its children. </summary>
        private void DrawClip(ResembleClip clip)
        {
            //Apply search filter
            if (!string.IsNullOrEmpty(search) && !clip.title.Contains(search))
            {
                return;
            }

            //Draw button
            if (GUILayout.Button(clip.title))
            {
                callback.Invoke(clip);
                Hide();
            }
        }
        public static Task GetClips(Callback.GetClips callback)
        {
            string uri = apiUri + "/projects/" + Settings.projectUUID + "/clips/";

            return(EnqueueTask(uri, Task.Type.Get, (string content, Error error) =>
            {
                if (error)
                {
                    callback.Method.Invoke(callback.Target, new object[] { null, error });
                }
                else
                {
                    callback.Method.Invoke(callback.Target, new object[] { ResembleClip.ArrayFromJson(content), Error.None });
                }
            }));
        }