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.RootScene; var compositor = SceneSystem.GraphicsCompositor; customRenderDelegate = new DelegateSceneRenderer(Render); ((SceneRendererCollection)((SceneCameraRenderer)compositor.Game).Child).Children.Add(customRenderDelegate); while (Game.IsRunning) { await Script.NextFrame(); debug.Update(); uiRoot.UpdateInput(Game.UpdateTime.Elapsed.TotalMilliseconds); uiRoot.UpdateLayout(Game.UpdateTime.Elapsed.TotalMilliseconds); } }
public override void Start() { base.Start(); var virtualResolution = new Vector3(GraphicsDevice.Presenter.BackBuffer.Width, GraphicsDevice.Presenter.BackBuffer.Height, 1); spriteBatch = new SpriteBatch(GraphicsDevice) { VirtualResolution = virtualResolution }; GetSceneRendererCollection()?.Children.Add(delegateRenderer = new DelegateSceneRenderer(Draw)); DebugCameraController = DebugCameraController ?? Camera?.Get <DebugCameraController>(); FollowCameraController = FollowCameraController ?? Camera?.Get <FollowCamera>(); }