C# Class KEngine.KAsync

链式操作,结合协程和DOTween, 并且支持真线程(用于密集运算,无法调用Unity大部分函数) 适合做动画、结合协程、回调一堆的情况
Afficher le fichier Open project: mr-kelly/KEngine Class Usage Examples

Méthodes publiques

Méthode Description
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

Private Methods

Méthode Description
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

Method Details

AddMainThreadCall() public static méthode

在子线程执行一个函数,让其回到主线程再执行的
public static AddMainThreadCall ( System.Action call ) : void
call System.Action
Résultat void

Coroutine() public méthode

等待一个已经被其它MonoBehaviour开启的协程
public Coroutine ( Coroutine co ) : KAsync
co UnityEngine.Coroutine
Résultat KAsync

Coroutine() public méthode

开启并等待一个协程
public Coroutine ( IEnumerator enumtor ) : KAsync
enumtor IEnumerator
Résultat KAsync

Start() public static méthode

public static Start ( ) : KAsync
Résultat KAsync

Start() public static méthode

public static Start ( System.Action callback ) : KAsync
callback System.Action
Résultat KAsync

Start() public static méthode

public static Start ( AsyncThenDelegateEasy callback ) : KAsync
callback AsyncThenDelegateEasy
Résultat KAsync

Then() public méthode

public Then ( System.Action callback ) : KAsync
callback System.Action
Résultat KAsync

Then() public méthode

public Then ( AsyncThenDelegate thenFunc ) : KAsync
thenFunc AsyncThenDelegate
Résultat KAsync

Then() public méthode

public Then ( AsyncThenDelegateEasy thenFunc ) : KAsync
thenFunc AsyncThenDelegateEasy
Résultat KAsync

Thread() public méthode

public Thread ( System.Action threadCalAction ) : KAsync
threadCalAction System.Action
Résultat KAsync

Thread() public méthode

线程。注意大部分Unity函数不能使用! 借用协程配合~
public Thread ( AsyncThreadDelegate threadCalAction ) : KAsync
threadCalAction AsyncThreadDelegate
Résultat KAsync

Thread() public méthode

public Thread ( AsyncThreadDelegateFull threadCalAction, object param ) : KAsync
threadCalAction AsyncThreadDelegateFull
param object
Résultat KAsync

Until() public méthode

public Until ( Func retBool, float timeout = 20 ) : KAsync
retBool Func
timeout float
Résultat KAsync

WaitFinish() public méthode

public WaitFinish ( ) : Coroutine
Résultat UnityEngine.Coroutine

WaitForEndOfFrame() public méthode

等到本帧结束
public WaitForEndOfFrame ( ) : KAsync
Résultat KAsync

WaitForFrames() public méthode

等待一定帧数
public WaitForFrames ( int frameCount ) : KAsync
frameCount int
Résultat KAsync

WaitForSeconds() public méthode

等待秒数
public WaitForSeconds ( float time ) : KAsync
time float
Résultat KAsync

When() public méthode

等待条件成立
public When ( Func retBool, float timeout = 20 ) : KAsync
retBool Func
timeout float
Résultat KAsync

_Thread() public méthode

public _Thread ( AsyncThreadDelegateFull threadCalAction, object param = null ) : IEnumerator
threadCalAction AsyncThreadDelegateFull
param object
Résultat IEnumerator