链式操作,结合协程和DOTween, 并且支持真线程(用于密集运算,无法调用Unity大部分函数) 适合做动画、结合协程、回调一堆的情况
Example #1
0
        public static void CreateDebugObject(object obj)
        {
            if (!Application.isEditor || !Application.isPlaying || IsApplicationQuited)
            {
                return;
            }

            KAsync.AddMainThreadCall(() =>
            {
                try
                {
                    var newDebugger =
                        new GameObject(string.Format("{0}-{1}", obj.ToString(), obj.GetType()))
                        .AddComponent <KObjectDebugger>();
                    newDebugger.WatchObject = obj;

                    KDebuggerObjectTool.SetParent(ContainerName, obj.GetType().Name, newDebugger.gameObject);

                    Cache[obj] = newDebugger;
                }
                catch (Exception e)
                {
                    Log.Error(e.Message);
                }
            });
        }
Example #2
0
        public static void RemoveDebugObject(object obj)
        {
            if (!Application.isEditor || !Application.isPlaying || IsApplicationQuited)
            {
                return;
            }

            KAsync.AddMainThreadCall(() =>
            {
                try
                {
                    KObjectDebugger debuger;
                    if (KObjectDebugger.Cache.TryGetValue(obj, out debuger))
                    {
                        GameObject.Destroy(debuger.gameObject);
                    }
                }
                catch (Exception e)
                {
                    Log.Error(e.Message);
                }
            });
        }
Example #3
0
        public static KAsync Start(AsyncThenDelegateEasy callback)
        {
            var async = new KAsync();

            return(async.Then(callback));
        }
Example #4
0
        public static KAsync Start(Action callback)
        {
            var async = new KAsync();

            return(async.Then(callback));
        }
Example #5
0
        public static KAsync Start()
        {
            var async = new KAsync();

            return(async);
        }
Example #6
0
 public static KAsync Start(AsyncThenDelegateEasy callback)
 {
     var async = new KAsync();
     return async.Then(callback);
 }
Example #7
0
        public static KAsync Start(Action callback)
        {
            var async = new KAsync();

            return async.Then(callback);
        }
Example #8
0
 public static KAsync Start()
 {
     var async = new KAsync();
     return async;
 }