static void Main(string[] args) { coroutineManager = new CoroutineManager(); coroutineManager.StartCoroutine(WaitForAnotherCoroutine()); long lastTicks = DateTime.Now.Ticks; while (true) { long currentTicks = DateTime.Now.Ticks; float deltaTime = (float)((currentTicks - lastTicks) / 1e7); coroutineManager.Advance(deltaTime); lastTicks = currentTicks; } }