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); }