Esempio n. 1
0
File: Q.cs Progetto: pjc0247/Rinity2
        public static QTask Async(Action callback, int time)
        {
            var task = QTask.Create(callback, QTargetThread.ThreadPool);

            Defer(() => { task.Invoke(); }, time);
            return(task);
        }
Esempio n. 2
0
File: Q.cs Progetto: pjc0247/Rinity2
        public QTask ContinueWith(Action callback)
        {
            var task = QTask.Create(this, callback, QTargetThread.SameThread);

            chains.Add(task);
            return(task);
        }
Esempio n. 3
0
File: Q.cs Progetto: pjc0247/Rinity2
        public static QTask Create(Action callback,
                                   QTargetThread type,
                                   QTaskOption option = QTaskOption.None)
        {
            var task = new QTask(null, callback, type, option);

            return(task);
        }
Esempio n. 4
0
File: Q.cs Progetto: pjc0247/Rinity2
        public static QTask Defer(Action callback, int time)
        {
            var task = QTask.Create(callback, QTargetThread.MainThread);

            lock (tasks)
                tasks.Add(currentTick + time, task);

            return(task);
        }
Esempio n. 5
0
File: Q.cs Progetto: pjc0247/Rinity2
        private QTask(QTask parent, Action callback, QTargetThread type, QTaskOption option)
        {
            this.syncObject = new object();

            this.parent   = parent;
            this.callback = callback;
            this.chains   = new List <QTask>();
            this.type     = type;
            this.option   = option;
        }