C# Класс KEngine.KAsync

链式操作,结合协程和DOTween, 并且支持真线程(用于密集运算,无法调用Unity大部分函数) 适合做动画、结合协程、回调一堆的情况
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AddMainThreadCall ( System.Action call ) : void

在子线程执行一个函数,让其回到主线程再执行的

Coroutine ( Coroutine co ) : KAsync

等待一个已经被其它MonoBehaviour开启的协程

Coroutine ( IEnumerator enumtor ) : KAsync

开启并等待一个协程

Start ( ) : KAsync
Start ( System.Action callback ) : KAsync
Start ( AsyncThenDelegateEasy callback ) : KAsync
Then ( System.Action callback ) : KAsync
Then ( AsyncThenDelegate thenFunc ) : KAsync
Then ( AsyncThenDelegateEasy thenFunc ) : KAsync
Thread ( System.Action threadCalAction ) : KAsync
Thread ( AsyncThreadDelegate threadCalAction ) : KAsync

线程。注意大部分Unity函数不能使用! 借用协程配合~

Thread ( AsyncThreadDelegateFull threadCalAction, object param ) : KAsync
Until ( Func retBool, float timeout = 20 ) : KAsync
WaitFinish ( ) : Coroutine
WaitForEndOfFrame ( ) : KAsync

等到本帧结束

WaitForFrames ( int frameCount ) : KAsync

等待一定帧数

WaitForSeconds ( float time ) : KAsync

等待秒数

When ( Func retBool, float timeout = 20 ) : KAsync

等待条件成立

_Thread ( AsyncThreadDelegateFull threadCalAction, object param = null ) : IEnumerator

Приватные методы

Метод Описание
EmWaitFinish ( ) : IEnumerator
KAsync ( ) : System
Next ( ) : void
WaitNext ( AsyncWaitNextDelegate callback ) : void
_CoWaitForSeconds ( float time, System.Action next ) : IEnumerator
_CoWhen ( Func retBool, float timeout, System.Action next ) : IEnumerator
_Coroutine ( Coroutine co, System.Action next ) : IEnumerator
_StartCoroutine ( IEnumerator enumtor, System.Action next ) : IEnumerator
_WaitForEndOfFrame ( System.Action next ) : IEnumerator
_WaitForFrames ( int frameCount, System.Action next ) : IEnumerator

Описание методов

AddMainThreadCall() публичный статический Метод

在子线程执行一个函数,让其回到主线程再执行的
public static AddMainThreadCall ( System.Action call ) : void
call System.Action
Результат void

Coroutine() публичный Метод

等待一个已经被其它MonoBehaviour开启的协程
public Coroutine ( Coroutine co ) : KAsync
co UnityEngine.Coroutine
Результат KAsync

Coroutine() публичный Метод

开启并等待一个协程
public Coroutine ( IEnumerator enumtor ) : KAsync
enumtor IEnumerator
Результат KAsync

Start() публичный статический Метод

public static Start ( ) : KAsync
Результат KAsync

Start() публичный статический Метод

public static Start ( System.Action callback ) : KAsync
callback System.Action
Результат KAsync

Start() публичный статический Метод

public static Start ( AsyncThenDelegateEasy callback ) : KAsync
callback AsyncThenDelegateEasy
Результат KAsync

Then() публичный Метод

public Then ( System.Action callback ) : KAsync
callback System.Action
Результат KAsync

Then() публичный Метод

public Then ( AsyncThenDelegate thenFunc ) : KAsync
thenFunc AsyncThenDelegate
Результат KAsync

Then() публичный Метод

public Then ( AsyncThenDelegateEasy thenFunc ) : KAsync
thenFunc AsyncThenDelegateEasy
Результат KAsync

Thread() публичный Метод

public Thread ( System.Action threadCalAction ) : KAsync
threadCalAction System.Action
Результат KAsync

Thread() публичный Метод

线程。注意大部分Unity函数不能使用! 借用协程配合~
public Thread ( AsyncThreadDelegate threadCalAction ) : KAsync
threadCalAction AsyncThreadDelegate
Результат KAsync

Thread() публичный Метод

public Thread ( AsyncThreadDelegateFull threadCalAction, object param ) : KAsync
threadCalAction AsyncThreadDelegateFull
param object
Результат KAsync

Until() публичный Метод

public Until ( Func retBool, float timeout = 20 ) : KAsync
retBool Func
timeout float
Результат KAsync

WaitFinish() публичный Метод

public WaitFinish ( ) : Coroutine
Результат UnityEngine.Coroutine

WaitForEndOfFrame() публичный Метод

等到本帧结束
public WaitForEndOfFrame ( ) : KAsync
Результат KAsync

WaitForFrames() публичный Метод

等待一定帧数
public WaitForFrames ( int frameCount ) : KAsync
frameCount int
Результат KAsync

WaitForSeconds() публичный Метод

等待秒数
public WaitForSeconds ( float time ) : KAsync
time float
Результат KAsync

When() публичный Метод

等待条件成立
public When ( Func retBool, float timeout = 20 ) : KAsync
retBool Func
timeout float
Результат KAsync

_Thread() публичный Метод

public _Thread ( AsyncThreadDelegateFull threadCalAction, object param = null ) : IEnumerator
threadCalAction AsyncThreadDelegateFull
param object
Результат IEnumerator