Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class Wait
- {
- private static readonly Dictionary<float, WaitForSeconds> WaitTimes = new();
- private static readonly Dictionary<float, WaitForSecondsRealtime> WaitTimesRealtime = new();
- private static readonly object m_Null = default;
- public static WaitForEndOfFrame ForEndOfFrame { get; } = new();
- public static WaitForFixedUpdate ForFixedUpdate { get; } = new();
- public static object ForNextFrame { get; } = null;
- public static WaitForSecondsRealtime ForSecondsRealtime(float seconds) =>
- WaitTimesRealtime.TryGetValue(seconds, out var wait)
- ? wait
- : WaitTimesRealtime[seconds] = new WaitForSecondsRealtime(seconds);
- public static WaitForSeconds ForSeconds(float seconds) => WaitTimes.TryGetValue(seconds, out var wait) ? wait : WaitTimes[seconds] = new WaitForSeconds(seconds);
- public static WaitUntil Until(System.Func<bool> condition) => new(condition);
- public static WaitWhile While(System.Func<bool> condition) => new WaitWhile(condition);
- public static WaitUntil WaitForFrames(int frames) => Until(() => frames-- <= 0);
- public static object Null => m_Null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement