/// <summary> /// Sets up user interface using MonoGame.Extended.Gui. /// </summary> private void SetupUserInterface() { var viewportAdapter = new BoxingViewportAdapter( this.Window, this.GraphicsDevice, this.ScreenWidth, this.ScreenHeight); var guiRenderer = new GuiSpriteBatchRenderer(this.GraphicsDevice, () => Matrix.Identity); BitmapFont guiFont = this.Content.Load <BitmapFont>("fonts/PixelAzureBondsBitmap24"); BitmapFont.UseKernings = false; Skin.CreateDefault(guiFont); this.guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { ActiveScreen = new MonoGame.Extended.Gui.Screen { Content = new StackPanel { Width = this.ScreenWidth, Height = this.ScreenHeight, } } }; this.guiSystem.ActiveScreen.Hide(); }
protected override void LoadContent() { var viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480); _camera = new Camera2D(viewportAdapter); var titleScreen = LoadScreen(@"Content/title-screen.json"); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, titleScreen.Skin.DefaultFont, _camera.GetViewMatrix); _guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { Screen = titleScreen }; var panel = titleScreen.FindControl <GuiPanel>("MainPanel"); var closeButton = titleScreen.FindControl <GuiButton>("CloseButton"); closeButton.Clicked += (sender, args) => { panel.IsVisible = false; }; var quitButton = titleScreen.FindControl <GuiButton>("QuitButton"); quitButton.Clicked += (sender, args) => Exit(); _progressBar = titleScreen.FindControl <GuiProgressBar>("ProgressBar"); }
void LoadGui() { var viewportAdapter = new DefaultViewportAdapter(_sceneHandler._graphicsDevice); var guiRenderer = new GuiSpriteBatchRenderer(_sceneHandler._graphicsDevice, () => Matrix.Identity); var font = _sceneHandler._content.Load <BitmapFont>("Sensation"); var JoinButton = new Button { Content = "Start" }; JoinButton.PressedStateChanged += OnJoinButtonClick; BitmapFont.UseKernings = false; Skin.CreateDefault(font); chatText = new TextBox { Text = "Send message", Position = new Point(0, 150) }; var controlTest = new StackPanel { Items = { chatText, JoinButton }, VerticalAlignment = VerticalAlignment.Bottom }; var demoScreen = new Screen { Content = controlTest, }; _guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { ActiveScreen = demoScreen }; }
public GuiSystem CreateUI(GraphicsDevice graphicsDevice) { var viewportAdapter = new DefaultViewportAdapter(graphicsDevice); var guiRenderer = new GuiSpriteBatchRenderer(graphicsDevice, () => Matrix.Identity); return(new GuiSystem(viewportAdapter, guiRenderer) { ActiveScreen = CreateScreen() }); }
protected override void LoadContent() { var viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480); _camera = new OrthographicCamera(viewportAdapter); var skin = GuiSkin.FromFile(Content, @"Raw/adventure-gui-skin.json"); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, _camera.GetViewMatrix); _guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { Screens = { new GuiLayoutScreen(skin, GraphicsDevice) } }; }
protected override void LoadContent() { ViewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480); var skin = GuiSkin.FromFile(Content, @"Raw/adventure-gui-skin.json"); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, ViewportAdapter.GetScaleMatrix); _guiSystem = new GuiSystem(ViewportAdapter, guiRenderer) { Screens = { new SelectDemoScreen(skin, _demos, LoadDemo) } }; //LoadDemo(_demoIndex); }
protected override void LoadContent() { IsMouseVisible = false; // _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, _graphicsDeviceManager.PreferredBackBufferWidth, _graphicsDeviceManager.PreferredBackBufferHeight); _viewportAdapter = new WindowViewportAdapter(Window, GraphicsDevice); _skin = GuiSkin.FromFile(Content, @"Content/adventure-gui-skin.json", typeof(MyPanel)); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, _viewportAdapter.GetScaleMatrix); var viewModel = new ViewModel(); LoadGuiButtonScreen(); //_screen = GuiScreen.FromFile(Content, "Content/test-addition-screen.json", typeof(MyPanel)); //Window.ClientSizeChanged += OnClientSizeChanged; //_screen = GuiScreen.FromFile(Content, "Content/adventure-gui-screen.json", typeof(MyPanel)); //var listBox = _screen.FindControl<GuiListBox>("Listbox"); //listBox.Items.Add(new { Name = "Hello World 1" }); //listBox.Items.Add(new { Name = "Hello World 2" }); //listBox.Items.Add(new { Name = "Hello World 3" }); //listBox.Items.Add(new { Name = "Hello World 4" }); //var comboBox = _screen.FindControl<GuiComboBox>("ComboBox"); //comboBox.Items.Add(new { Name = "Hello World 1" }); //comboBox.Items.Add(new { Name = "Hello World 2" }); //comboBox.Items.Add(new { Name = "Hello World 3" }); //comboBox.Items.Add(new { Name = "Hello World 4" }); //var submit = _screen.FindControl<GuiSubmit>("FormSubmit"); //submit.SetBinding(nameof(GuiButton.Text), nameof(viewModel.Name)); //submit.Clicked += OnFormSubmitClicked; //submit.Clicked += (s, e) => { viewModel.Name = viewModel.Name == "Change" ? "Alistrasza" : "Change"; }; _screen.BindingContext = viewModel; _guiSystem = new GuiSystem(_viewportAdapter, guiRenderer) { Screens = { _screen // new BindingScreen(_skin, viewModel) } }; }
protected override void LoadContent() { ViewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480); //var skin = GuiSkin.FromFile(Content, @"Raw/adventure-gui-skin.json"); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, ViewportAdapter.GetScaleMatrix); var font = Content.Load <BitmapFont>("small-font"); BitmapFont.UseKernings = false; Skin.CreateDefault(font); _selectDemoScreen = new SelectDemoScreen(_demos, LoadDemo, Exit); _guiSystem = new GuiSystem(ViewportAdapter, guiRenderer) { ActiveScreen = _selectDemoScreen, }; }
protected override void LoadContent() { IsMouseVisible = false; _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, _graphicsDeviceManager.PreferredBackBufferWidth, _graphicsDeviceManager.PreferredBackBufferHeight); var skin = GuiSkin.FromFile(Content, @"Content/adventure-gui-skin.json", typeof(MyPanel)); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, _viewportAdapter.GetScaleMatrix); var viewModel = new ViewModel(); _guiSystem = new GuiSystem(_viewportAdapter, guiRenderer) { Screens = { new BindingScreen(skin, viewModel) } }; }
protected override void LoadContent() { IsMouseVisible = false; _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480); _camera = new Camera2D(_viewportAdapter); _spriteBatch = new SpriteBatch(GraphicsDevice); _backgroundTexture = Content.Load <Texture2D>("Textures/colored_castle"); var titleScreen = GuiScreen.FromFile(Content, @"Content/title-screen.json"); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, _camera.GetViewMatrix); _guiSystem = new GuiSystem(_viewportAdapter, guiRenderer) { Screens = { titleScreen } }; var quitButton = titleScreen.FindControl <GuiButton>("QuitButton"); quitButton.Clicked += (sender, args) => _game.Back(); }
protected override void LoadContent() { ViewportAdapter = new DefaultViewportAdapter(GraphicsDevice); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, () => Matrix.Identity); var font = Game.Content.Load <BitmapFont>("Menus/Color Picker/Sensation"); BitmapFont.UseKernings = false; Skin.CreateDefault(font); var demoScreen = new Screen { Content = new StackPanel { Margin = 5, Orientation = Orientation.Vertical, Items = { new Label("Buttons") { Margin = 5 }, new Label("TextBox") { Margin = 5 }, new MonoGame.Extended.Gui.Controls.TextBox { Text = "TextBox" }, } } }; guiSystem = new GuiSystem(ViewportAdapter, guiRenderer) { ActiveScreen = demoScreen }; base.LoadContent(); }
void LoadGui() { var viewportAdapter = new DefaultViewportAdapter(_sceneHandler._graphicsDevice); var guiRenderer = new GuiSpriteBatchRenderer(_sceneHandler._graphicsDevice, () => Matrix.Identity); var font = _sceneHandler._content.Load <BitmapFont>("Sensation"); BitmapFont.UseKernings = false; Skin.CreateDefault(font); var JoinButton = new Button { Content = "Join to server" }; IPTextBox = new TextBox { Text = "127.0.0.1", HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom }; NameTextBox = new TextBox { Text = "Name", HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom }; JoinButton.PressedStateChanged += ChatText_PressedStateChanged; var controlTest = new StackPanel { Items = { new StackPanel { Items = { new Label("Name:") { HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Bottom, }, NameTextBox, }, Orientation = Orientation.Horizontal }, new StackPanel { Items = { new Label("Ip:") { HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Bottom, }, IPTextBox, }, Orientation = Orientation.Horizontal }, JoinButton } , VerticalAlignment = VerticalAlignment.Centre, HorizontalAlignment = HorizontalAlignment.Centre, Spacing = 5 }; var demoScreen = new Screen { Content = controlTest }; _guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { ActiveScreen = demoScreen }; }
protected override void LoadContent() { var viewportAdapter = new DefaultViewportAdapter(GraphicsDevice); var guiRenderer = new GuiSpriteBatchRenderer(GraphicsDevice, () => Matrix.Identity); var font = Content.Load <BitmapFont>("Sensation"); BitmapFont.UseKernings = false; Skin.CreateDefault(font); //var parser = new MarkupParser(); //var mainScreen = new Screen //{ // Content = parser.Parse("Features/MainWindow.mgeml", new object()) //}; //var textBox = mainScreen.FindControl<TextBox>("TextBox"); //var statusLabel = mainScreen.FindControl<Label>("StatusLabel"); //textBox.CaretIndexChanged += (sender, args) => // statusLabel.Content = $"Ln {textBox.LineIndex + 1}, Ch {textBox.CaretIndex + 1}"; var stackTest = new DemoViewModel("Stack Panels", new StackPanel { Items = { new Button { Content = "Press Me", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top }, new Button { Content = "Press Me", HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom }, new Button { Content = "Press Me", HorizontalAlignment = HorizontalAlignment.Centre, VerticalAlignment = VerticalAlignment.Centre }, new Button { Content = "Press Me", HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }, } }); var dockTest = new DemoViewModel("Dock Panels", new DockPanel { Items = { new Button { Content = "Dock.Top", AttachedProperties ={ { DockPanel.DockProperty, Dock.Top } } }, new Button { Content = "Dock.Bottom", AttachedProperties ={ { DockPanel.DockProperty, Dock.Bottom } } }, new Button { Content = "Dock.Left", AttachedProperties ={ { DockPanel.DockProperty, Dock.Left } } }, new Button { Content = "Dock.Right", AttachedProperties ={ { DockPanel.DockProperty, Dock.Right } } }, new Button { Content = "Fill" } } }); var controlTest = new DemoViewModel("Basic Controls", new StackPanel { Margin = 5, Orientation = Orientation.Vertical, Items = { new Label("Buttons") { Margin = 5 }, new StackPanel { Orientation = Orientation.Horizontal, Spacing = 5, Items = { new Button { Content = "Enabled" }, new Button { Content = "Disabled", IsEnabled = false }, new ToggleButton { Content = "ToggleButton" } } }, new Label("TextBox") { Margin = 5 }, new TextBox { Text = "TextBox" }, new Label("CheckBox") { Margin = 5 }, new CheckBox { Content = "Check me please!" }, new Label("ListBox") { Margin = 5 }, new ListBox { Items = { "ListBoxItem1", "ListBoxItem2", "ListBoxItem3" }, SelectedIndex = 0 }, new Label("ProgressBar") { Margin = 5 }, new ProgressBar { Progress = 0.5f, Width = 100 }, new Label("ComboBox") { Margin = 5 }, new ComboBox { Items = { "ComboBoxItemA", "ComboBoxItemB", "ComboBoxItemC" }, SelectedIndex =0, HorizontalAlignment = HorizontalAlignment.Left } } }); var demoScreen = new Screen { Content = new DockPanel { LastChildFill = true, Items = { new ListBox { Name = "DemoList", AttachedProperties = { { DockPanel.DockProperty, Dock.Left } }, ItemPadding = new Thickness(5), VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Left, SelectedIndex = 0, Items ={ controlTest, stackTest, dockTest } }, new ContentControl { Name = "Content", BackgroundColor = new Color(30, 30, 30) } } } }; _guiSystem = new GuiSystem(viewportAdapter, guiRenderer) { ActiveScreen = demoScreen }; var demoList = demoScreen.FindControl <ListBox>("DemoList"); var demoContent = demoScreen.FindControl <ContentControl>("Content"); demoList.SelectedIndexChanged += (sender, args) => demoContent.Content = (demoList.SelectedItem as DemoViewModel)?.Content; demoContent.Content = (demoList.SelectedItem as DemoViewModel)?.Content; }