public override async Task Execute() { SpriteFont font = await Content.LoadAsync<SpriteFont>("Segoe_UI_10_Regular"); FontManager.DefaultFont = Engine.Instance.Renderer.CreateFont(font); XenkoRenderer.GraphicsContext = Game.GraphicsContext; uiRoot = new BasicUI(); debug = new DebugViewModel(uiRoot); uiRoot.DataContext = new BasicUIViewModel(); FontManager.Instance.LoadFonts(Content); SoundManager.Instance.LoadSounds(Content); ImageManager.Instance.LoadImages(Content); EffectManager.Instance.LoadEffects(EffectSystem); var scene = SceneSystem.SceneInstance.Scene; var compositor = ((SceneGraphicsCompositorLayers)scene.Settings.GraphicsCompositor); compositor.Master.Renderers.Add(new SceneDelegateRenderer(Render)); while (Game.IsRunning) { await Script.NextFrame(); debug.Update(); uiRoot.UpdateInput(Game.UpdateTime.Elapsed.TotalMilliseconds); uiRoot.UpdateLayout(Game.UpdateTime.Elapsed.TotalMilliseconds); } }