using UnityEngine;
|
using Cysharp.Threading.Tasks;
|
using System;
|
|
public static class UniTaskExtension
|
{
|
public static void DelayFrame(this GameObject go, Action action)
|
{
|
DelayFrameInternal(1, action);
|
}
|
|
public static void DelayFrame(this Component cmp, Action action)
|
{
|
DelayFrameInternal(1, action);
|
}
|
|
private async static UniTask DelayFrameInternal(int frame, Action action)
|
{
|
await UniTask.DelayFrame(frame);
|
action?.Invoke();
|
}
|
|
public static void DelayFrames(this Component cmp, int frames, Action action)
|
{
|
DelayFrameInternal(frames, action);
|
}
|
|
public static void DelayFrames(this GameObject go, int frames, Action action)
|
{
|
DelayFrameInternal(frames, action);
|
}
|
}
|