diff --git a/CoroutineUtils.cs b/CoroutineUtils.cs new file mode 100644 index 0000000..f1e835b --- /dev/null +++ b/CoroutineUtils.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace NEG.Utils +{ + public static class CoroutineUtils + { + private static readonly WaitForEndOfFrame WaitForEndOfFrame = new WaitForEndOfFrame(); + + public static IEnumerator WaitForFrames(int count) + { + for (int i = 0; i < count; i++) + { + yield return null; + } + } + + public static IEnumerator ActionAfterEndOfFrame(Action action) + { + yield return WaitForEndOfFrame; + action?.Invoke(); + } + + public static IEnumerator ActionAtNextFrame(Action action) + { + yield return null; + action?.Invoke(); + } + } +} \ No newline at end of file diff --git a/CoroutineUtils.cs.meta b/CoroutineUtils.cs.meta new file mode 100644 index 0000000..ccf9927 --- /dev/null +++ b/CoroutineUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 198d3c167abaa734a91e3bcc2dd10079 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: