public Ticket LockLowPriority() { var ticket = ticketPool.Acquire(); if (lowPriorityTicket == null && highPriorityTicket == null) { lowPriorityTicket = ticket; } return(ticket); }
/// <summary> /// Yield return Wait.For(seconds) to actually pause execution of your coroutine /// for a given amount of time. /// </summary> /// <param name="seconds"> time in seconds </param> /// <returns> A Yieldable object (you can "yield return" it).</returns> public static IYieldable For(float seconds) { if (seconds <= 0) { return(null); } var item = WaitPool.Acquire(); item.waitPool = WaitPool; item.TimeToWait = seconds; return(item); }