public static void Step() { Frame++; // Advance time Time.Step(); if (Time.DeltaTime <= 0.0f) { return; } // Update the mouse overs for all nodes in the scenes container. Input.BeginFrame(); GenerateEvents(); // Update all for (var i = 0; i < Window.ViewCount; i++) { Window.GetViewAt(i).Update(); } while (Time.BeginFixedTimeStep()) { StateMachine.Update(UpdateMode.FixedUpdate); for (var i = 0; i < Window.ViewCount; i++) { var view = Window.GetViewAt(i); if (view.Scene != null && view.Scene.HasWorld && !view.Scene.IsPaused) { view.Scene.World.Step(); } } Time.EndFixedTimeStep(); } StateMachine.Update(UpdateMode.Update); Animation.Step(UpdateMode.Update); var gc = Window.DrawBegin(); _applicationDelegate.DrawBegin(gc); Window.Draw(); _applicationDelegate.DrawEnd(gc); Window.DrawEnd(); Node.ProcessDestroyedNodes(); Input.EndFrame(); }