Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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>();
        }