Beispiel #1
0
        protected override void LoadContent()
        {
            var spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var spriteFontAdapter  = new SpriteFontAdapter(this.Game.Content.Load <SpriteFont>("SpriteFont"));
            var primitivesService  = new PrimitivesService(this.GraphicsDevice);
            var renderer           = new Renderer(spriteBatchAdapter, primitivesService);

            this.rootElement = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer, new InputManager());

            var bindingClass  = new BindingClass();
            var bindingClass2 = new BindingClass2();

            var border = new Border
            {
                Background = new SolidColorBrush(Colors.LightGray),
                Child      = new TextBlock(spriteFontAdapter)
                {
                    Text = "Click"
                }
            };

            var toggleButton = new ToggleButton {
                Content = border
            };

            border.Bind(Border.BackgroundProperty, bindingClass2.BackgroundColor);

            toggleButton.Bind(ToggleButton.IsCheckedProperty, bindingClass2.IsChecked, bindingClass2.IsChecked);

            this.rootElement.Content = toggleButton;
        }
Beispiel #2
0
        protected override void LoadContent()
        {
            var spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var primitivesService  = new PrimitivesService(this.GraphicsDevice);
            var renderer           = new Renderer(spriteBatchAdapter, primitivesService);

            this.rootElement = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer, new InputManager());
            var scrollView = new ScrollViewer();

            this.rootElement.Content = scrollView;
            var stackPanel = new StackPanel();

            scrollView.Content = stackPanel;
            scrollView.CanHorizontallyScroll = true;
            var headerFont = new SpriteFontAdapter(this.Game.Content.Load <SpriteFont>("SpriteFont"));
            var descFont   = new SpriteFontAdapter(this.Game.Content.Load <SpriteFont>("SpriteFont"));

            foreach (int app in Enumerable.Range(0, 2))
            {
                var grid = new Grid
                {
                    ColumnDefinitions = { new ColumnDefinition {
                                              Width = GridLength.Auto
                                          }, new ColumnDefinition() }
                };

                grid.Children.Add(
                    new Image
                {
                    Source =
                        new TextureImage(
                            new Texture2DAdapter(this.Game.Content.Load <Texture2D>("Textures/badger2")))
                });

                var textStack = new StackPanel {
                    Margin = new Thickness(12, 0, 0, 0)
                };
                Grid.SetColumn(textStack, 1);
                grid.Children.Add(textStack);

                textStack.Children.Add(new TextBlock(headerFont)
                {
                    Text = "Title"
                });
                textStack.Children.Add(
                    new TextBlock(descFont)
                {
                    Text     = "Description - some text that should wrap when it runs of the screen.",
                    Wrapping = TextWrapping.Wrap,
                });

                stackPanel.Children.Add(grid);
            }
        }
Beispiel #3
0
        protected override void LoadContent()
        {
            base.LoadContent();

            _spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(GraphicsDevice));

            var primitivesService = new PrimitivesService(GraphicsDevice);
            var renderer          = new Renderer(_spriteBatchAdapter, primitivesService);

            _rootElement = new RootElement(GraphicsDevice.Viewport.ToRect(), renderer, new InputManager());
        }
Beispiel #4
0
        protected override void LoadContent()
        {
            base.LoadContent();

            _spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(GraphicsDevice));

            var primitivesService = new PrimitivesService(GraphicsDevice);
            var renderer          = new Renderer(_spriteBatchAdapter, primitivesService);

            _rootElement = new RootElement(GraphicsDevice.Viewport.ToRect(), renderer, new RedBadger.Xpf.Adapters.Xna.Input.InputManager());

            var spriteFont        = Game.Content.Load <SpriteFont>("Fonts\\Kootenay");
            var spriteFontAdapter = new SpriteFontAdapter(spriteFont);

            var grid = new Grid()
            {
                Background        = new SolidColorBrush(Colors.White),
                RowDefinitions    = { new RowDefinition(), new RowDefinition() },
                ColumnDefinitions = { new ColumnDefinition() },
            };

            _rootElement.Content = grid;

            var button = new Button()
            {
                Content = new TextBlock(spriteFontAdapter)
                {
                    Text                = "Hello World",
                    Foreground          = new SolidColorBrush(Colors.Black),
                    HorizontalAlignment = HorizontalAlignment.Center,
                    VerticalAlignment   = VerticalAlignment.Center,
                },
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Stretch,
            };

            var textBox = new TextBox(spriteFontAdapter);

            button.Click += delegate { (button.Content as TextBlock).Text += "1"; };
            button.Gestures.Subscribe(obj => Console.WriteLine("Hi"));
            Grid.SetRow(button, 0);
            Grid.SetColumn(button, 0);
            Grid.SetRow(textBox, 1);

            grid.Children.Add(button);
            grid.Children.Add(textBox);
        }
Beispiel #5
0
        protected override void LoadContent()
        {
            this.spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var primitivesService = new PrimitivesService(this.GraphicsDevice);
            var renderer          = new Renderer(this.spriteBatchAdapter, primitivesService);

            this.rootElement = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer);

            var spriteFont        = this.Game.Content.Load <SpriteFont>("MySpriteFont");
            var spriteFontAdapter = new SpriteFontAdapter(spriteFont);

            var grid = new Grid
            {
                Background     = new SolidColorBrush(Colors.White),
                RowDefinitions =
                {
                    new RowDefinition(), new RowDefinition {
                        Height = new GridLength(320)
                    },                   new RowDefinition()
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(200)
                    },
                    new ColumnDefinition {
                        Width = new GridLength(200)
                    }
                }
            };

            this.rootElement.Content = grid;

            var topLeftBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 0, 0, 2),
                Child           = new TextBlock(spriteFontAdapter)
                {
                    Text = "Score: 5483", Margin = new Thickness(10)
                }
            };

            Grid.SetRow(topLeftBorder, 0);
            Grid.SetColumn(topLeftBorder, 0);
            grid.Children.Add(topLeftBorder);

            var topRightBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 0, 0, 2),
                Child           =
                    new TextBlock(spriteFontAdapter)
                {
                    Text   = "High: 9999",
                    Margin = new Thickness(10),
                    HorizontalAlignment = HorizontalAlignment.Right
                }
            };

            Grid.SetRow(topRightBorder, 0);
            Grid.SetColumn(topRightBorder, 1);
            grid.Children.Add(topRightBorder);

            var bottomLeftBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 2, 0, 0),
                Background      = new SolidColorBrush(new Color(106, 168, 79, 255)),
                Child           =
                    new TextBlock(spriteFontAdapter)
                {
                    Text              = "Lives: 3",
                    Margin            = new Thickness(10),
                    VerticalAlignment = VerticalAlignment.Bottom
                }
            };

            Grid.SetRow(bottomLeftBorder, 2);
            Grid.SetColumn(bottomLeftBorder, 0);
            grid.Children.Add(bottomLeftBorder);

            var bottomRightBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 2, 0, 0),
                Background      = new SolidColorBrush(new Color(106, 168, 79, 255))
            };

            Grid.SetRow(bottomRightBorder, 2);
            Grid.SetColumn(bottomRightBorder, 1);
            grid.Children.Add(bottomRightBorder);
        }
Beispiel #6
0
        protected override void LoadContent()
        {
            this.spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var primitivesService = new PrimitivesService(this.GraphicsDevice);
            var renderer          = new Renderer(this.spriteBatchAdapter, primitivesService);

            var spriteFontAdapter = new SpriteFontAdapter(this.Game.Content.Load <SpriteFont>("Segoe18"));
            var largeFont         = new SpriteFontAdapter(this.Game.Content.Load <SpriteFont>("Segoe30"));

            var addButtonImageTexture =
                new TextureImage(new Texture2DAdapter(this.Game.Content.Load <Texture2D>("AddButton")));
            var trashButtonImageTexture =
                new TextureImage(new Texture2DAdapter(this.Game.Content.Load <Texture2D>("TrashButton")));

            this.rootElement = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer, new InputManager());

            var buttonClickResults = new ObservableCollection <string>();

            var header1 = new TextBlock(spriteFontAdapter)
            {
                Text       = "MY APPLICATION",
                Foreground = new SolidColorBrush(Colors.White),
                Margin     = new Thickness(10)
            };
            var header2 = new TextBlock(largeFont)
            {
                Text       = "XNA Application Bar",
                Foreground = new SolidColorBrush(Colors.White),
                Margin     = new Thickness(10)
            };
            var itemsControl = new ItemsControl
            {
                ItemsSource  = buttonClickResults,
                ItemTemplate = _ =>
                {
                    var textBlock = new TextBlock(spriteFontAdapter)
                    {
                        Foreground = new SolidColorBrush(Colors.White)
                    };
                    textBlock.Bind(
                        TextBlock.TextProperty, BindingFactory.CreateOneWay <string>());
                    return(textBlock);
                }
            };

            var scrollViewer = new ScrollViewer {
                Content = itemsControl
            };

            var applicationBar = new ApplicationBar
            {
                Buttons =
                {
                    new ApplicationBarIconButton("Add",    addButtonImageTexture),
                    new ApplicationBarIconButton("Delete", trashButtonImageTexture)
                }
            };

            var grid = new Grid
            {
                Background     = new SolidColorBrush(Colors.Black),
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = GridLength.Auto
                    },
                    new RowDefinition {
                        Height = GridLength.Auto
                    },
                    new RowDefinition(),
                    new RowDefinition {
                        Height = new GridLength(70)
                    }
                },
                Children =
                {
                    header1,
                    header2,
                    scrollViewer,
                    applicationBar
                }
            };

            applicationBar.Clicks.Subscribe(
                Observer.Create <ApplicationBarIconButton>(s => buttonClickResults.Add(s.Text)));

            Grid.SetRow(header1, 0);
            Grid.SetRow(header2, 1);
            Grid.SetRow(scrollViewer, 2);
            Grid.SetRow(applicationBar, 3);

            this.rootElement.Content = grid;
        }
Beispiel #7
0
        /// <summary>
        ///     LoadContent will be called once per game and is the place to load
        ///     all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            this.spriteBatch = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var primitiveService = new PrimitivesService(this.GraphicsDevice);
            var renderer         = new Renderer(this.spriteBatch, primitiveService);
            var input            = new InputManager();

            this.root = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer, input);

            this.font   = new SpriteFontAdapter(this.Content.Load <SpriteFont>(@"SpriteFont"));
            this.chunks = new ObservableCollection <Chunk>();

            string[] files = Directory.GetFiles(Environment.CurrentDirectory + @"\Content\Textures");

            foreach (string file in files)
            {
                var chunk = new Chunk
                {
                    Name    = Path.GetFileNameWithoutExtension(file),
                    Texture = this.Content.Load <Texture2D>(@"Textures/" + Path.GetFileNameWithoutExtension(file))
                };
                this.chunks.Add(chunk);
            }

            var items = new ItemsControl
            {
                ItemTemplate = _ =>
                {
                    var textBlock = new TextBlock(this.font)
                    {
                        Foreground = new SolidColorBrush(Colors.White), HorizontalAlignment = HorizontalAlignment.Center
                    };
                    textBlock.Bind(
                        TextBlock.TextProperty, BindingFactory.CreateOneWay <Chunk, string>(o => o.Name));

                    var image = new Image {
                        Stretch = Stretch.Fill, Width = 100,
                    };
                    image.Bind(
                        Image.SourceProperty, BindingFactory.CreateOneWay <Chunk, ImageSource>(o => o.XnaImage));

                    var panel = new StackPanel
                    {
                        Orientation = Orientation.Vertical,
                        Background  = new SolidColorBrush(new Media.Color(0, 0, 0, 100)),
                    };

                    panel.Children.Add(image);
                    panel.Children.Add(textBlock);

                    var border = new Border
                    {
                        BorderBrush     = new SolidColorBrush(Colors.Black),
                        BorderThickness = new Thickness(2, 2, 2, 2),
                        Margin          = new Thickness(5, 5, 5, 5),
                        Child           = panel,
                    };

                    var button = new Button {
                        Content = border, Margin = new Thickness(5, 5, 5, 5),
                    };

                    return(button);
                },
                ItemsSource = this.chunks,
            };

            items.ItemsPanel.Margin = new Thickness(0, 0, 25, 0);

            var scrollViewer = new ScrollViewer {
                Content = items
            };

            var canvas = new Canvas {
            };

            var chunkPallet = new NinePatch(this.Content, canvas, "Chunk Pallet", this.font)
            {
                Width = 280, Height = 550,
            };

            this.ninePatches.Add(chunkPallet);

            chunkPallet.Children.Add(scrollViewer);
            canvas.Children.Add(chunkPallet);

            Grid.SetColumn(scrollViewer, 1);
            Grid.SetRow(scrollViewer, 1);

            Canvas.SetLeft(chunkPallet, 740);
            Canvas.SetTop(chunkPallet, 20);

            this.root.Content = canvas;
        }
Beispiel #8
0
        protected override void LoadContent()
        {
            this.spriteBatchAdapter = new SpriteBatchAdapter(new SpriteBatch(this.GraphicsDevice));
            var primitivesService = new PrimitivesService(this.GraphicsDevice);
            var renderer          = new Renderer(this.spriteBatchAdapter, primitivesService);

            this.rootElement = new RootElement(this.GraphicsDevice.Viewport.ToRect(), renderer);

            // TODO: Some changes in ReactiveEx v2.0, using alternative for now, fill fix up later
            //Observable.FromEvent<EventArgs>(
            //    handler => this.Game.Window.OrientationChanged += handler,
            //    handler => this.Game.Window.OrientationChanged -= handler).Subscribe(
            //        _ => this.rootElement.Viewport = this.Game.GraphicsDevice.Viewport.ToRect());

            // Alternative mechanism to hook up to the event.  Ensure you manage unhooking the event yourself.
            this.Game.Window.OrientationChanged += (sender, args) => this.rootElement.Viewport = this.Game.GraphicsDevice.Viewport.ToRect();

            var spriteFont        = this.Game.Content.Load <SpriteFont>("MySpriteFont");
            var spriteFontAdapter = new SpriteFontAdapter(spriteFont);

            var grid = new Grid
            {
                Background     = new SolidColorBrush(Colors.White),
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(50)
                    },
                    new RowDefinition(),
                    new RowDefinition {
                        Height = new GridLength(50)
                    }
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition(), new ColumnDefinition()
                }
            };

            this.rootElement.Content = grid;

            var topLeftBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 0, 0, 2),
                Child           = new TextBlock(spriteFontAdapter)
                {
                    Text = "Score: 5483", Margin = new Thickness(10)
                }
            };

            Grid.SetRow(topLeftBorder, 0);
            Grid.SetColumn(topLeftBorder, 0);
            grid.Children.Add(topLeftBorder);

            var topRightBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 0, 0, 2),
                Child           =
                    new TextBlock(spriteFontAdapter)
                {
                    Text   = "High: 9999",
                    Margin = new Thickness(10),
                    HorizontalAlignment = HorizontalAlignment.Right
                }
            };

            Grid.SetRow(topRightBorder, 0);
            Grid.SetColumn(topRightBorder, 1);
            grid.Children.Add(topRightBorder);

            var bottomLeftBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 2, 0, 0),
                Background      = new SolidColorBrush(new Color(106, 168, 79, 255)),
                Child           =
                    new TextBlock(spriteFontAdapter)
                {
                    Text              = "Lives: 3",
                    Margin            = new Thickness(10),
                    VerticalAlignment = VerticalAlignment.Bottom
                }
            };

            Grid.SetRow(bottomLeftBorder, 2);
            Grid.SetColumn(bottomLeftBorder, 0);
            grid.Children.Add(bottomLeftBorder);

            var bottomRightBorder = new Border
            {
                BorderBrush     = new SolidColorBrush(Colors.Black),
                BorderThickness = new Thickness(0, 2, 0, 0),
                Background      = new SolidColorBrush(new Color(106, 168, 79, 255))
            };

            Grid.SetRow(bottomRightBorder, 2);
            Grid.SetColumn(bottomRightBorder, 1);
            grid.Children.Add(bottomRightBorder);
        }