private static UIComponent GetUIPage(RenderGroup renderGroup)
 {
     if (ScreenPages.TryGetValue(renderGroup, out var uiPage))
     {
         return(uiPage);
     }
     else
     {
         return(Create2DUIPage(renderGroup));
     }
 }
        private static UIComponent Create2DUIPage(RenderGroup renderGroup)
        {
            var entity = new Entity("Avalonia Screen Page " + renderGroup);
            var uiPage = new UIComponent
            {
                RenderGroup = renderGroup,
                Page        = new UIPage
                {
                    Name        = "Screen Page " + renderGroup,
                    RootElement = new Canvas()
                }
            };

            var game   = AvaloniaLocator.Current.GetService <IGame>();
            var width  = game.GraphicsDevice.Presenter.Description.BackBufferWidth;
            var height = game.GraphicsDevice.Presenter.Description.BackBufferHeight;

            uiPage.Resolution = new Vector3(width, height, 1000);

            ScreenPages.Add(renderGroup, uiPage);
            entity.Add(uiPage);
            Container2D.AddChild(entity);
            return(uiPage);
        }