コード例 #1
0
ファイル: StarlightGame.cs プロジェクト: mrseeker/Starlight
        public StarlightGame(string workingDirectory)
        {
            this.graphics = new GraphicsDeviceManager(this);

            this.desktop = new MyraUI.Desktop();

            this.ResourceLocator = new ResourceLocator(workingDirectory);
            this.ResourceCache   = new ResourceCache();
            this.NetworkClient   = new StarlightClient(new Telepathy.Client());

            this.ScreenContainer = new ScreenContainer(this, ResourceCache, ResourceLocator, NetworkClient, desktop);

            this.networkDispatch = new NetworkDispatch(this.NetworkClient, this.ScreenContainer);
            this.networkDispatch.ResolveHandlers();

            Content.RootDirectory = "Content";
            IsMouseVisible        = true;
        }
コード例 #2
0
ファイル: Menu.cs プロジェクト: communityus-branch/Myra
 public void Close()
 {
     Desktop.HideContextMenu();
 }
コード例 #3
0
 public void ShowModal(Desktop desktop)
 {
     desktop.Widgets.Add(this);
     desktop.FocusedWidget = this;
 }
コード例 #4
0
ファイル: ScreenContainer.cs プロジェクト: mrseeker/Starlight
        public ScreenContainer(StarlightGame game, ResourceCache resourceCache, ResourceLocator resourceLocator, StarlightClient networkClient, MyraUI.Desktop desktop)
        {
            this.game            = game;
            this.resourceCache   = resourceCache;
            this.resourceLocator = resourceLocator;
            this.networkClient   = networkClient;
            this.desktop         = desktop;

            this.screenStack = new Stack <IScreen>();
        }
コード例 #5
0
ファイル: Window.cs プロジェクト: damianimmortal/Myra
 public void ShowModal(Desktop desktop)
 {
     desktop.ModalWidget = this;
 }
コード例 #6
0
 public void Close()
 {
     Desktop.HideContextMenu();
     HoverIndex = SelectedIndex = null;
 }
コード例 #7
0
ファイル: Sliders.cs プロジェクト: m039/Clock-Handle
        protected override void LoadContent()
        {
            base.LoadContent();

            var grid = new Grid
            {
                RowSpacing    = 8,
                ColumnSpacing = 8
            };

            const float bottomMargin    = 10;
            const float leftRightMargin = 20;
            const float betweenMargin   = 10;

            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, leftRightMargin));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, betweenMargin));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Fill));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, leftRightMargin));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Fill));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, bottomMargin));

            // Labels

            grid.Widgets.Add(new TextBlock
            {
                Text          = "Number of Lines",
                GridPositionX = 1,
                GridPositionY = 1
            });
            grid.Widgets.Add(new TextBlock
            {
                Text          = "Line Size",
                GridPositionX = 1,
                GridPositionY = 2
            });
            grid.Widgets.Add(new TextBlock
            {
                Text          = "Line Offset",
                GridPositionX = 1,
                GridPositionY = 3
            });

            // Sliders

            HorizontalSlider numberOfLinesSlider;
            HorizontalSlider lineSizeSlider;
            HorizontalSlider lineOffsetSlider;

            // Create and add sliders

            grid.Widgets.Add(numberOfLinesSlider = new HorizontalSlider
            {
                GridPositionX = 3,
                GridPositionY = 1,
                Value         = (float)settings.NumberOfLines / (float)HandleAnimation.MaxHandleLines * 100
            });
            grid.Widgets.Add(lineSizeSlider = new HorizontalSlider
            {
                GridPositionX = 3,
                GridPositionY = 2,
                Value         = settings.LineSize / MaxLineOffset * 100
            });
            grid.Widgets.Add(lineOffsetSlider = new HorizontalSlider
            {
                GridPositionX = 3,
                GridPositionY = 3,
                Value         = settings.LineOffset / MaxLineSize * 100
            });

            // Attach events to sliders

            numberOfLinesSlider.ValueChanged += (sender, args) =>
            {
                settings.NumberOfLines = (int)(numberOfLinesSlider.Value / 100f * HandleAnimation.MaxHandleLines);
            };

            lineSizeSlider.ValueChanged += (sender, args) =>
            {
                settings.LineSize = (int)(lineSizeSlider.Value / 100f * MaxLineOffset);
            };

            lineOffsetSlider.ValueChanged += (sender, args) =>
            {
                settings.LineOffset = (int)(lineOffsetSlider.Value / 100f * MaxLineSize);
            };

            host = new Myra.Graphics2D.UI.Desktop();
            host.Widgets.Add(grid);
        }
コード例 #8
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.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here

            placeholder = this.Content.Load <Texture2D>("Textures/picture");

            MyraEnvironment.Game = this;

            console = new Engine.Debug.DebugConsole(this, true);
            console.AddMessage("Activated Debug Console");

            var grid = new Grid
            {
                RowSpacing    = 16,
                ColumnSpacing = 16
            };

            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));

            // TextBlock
            var helloWorld = new TextBlock
            {
                Id   = "label",
                Text = "Hello, World!"
            };

            grid.Widgets.Add(helloWorld);

            // ComboBox
            var combo = new ComboBox
            {
                GridColumn = 1,
                GridRow    = 0,
                Id         = "buildingType"
            };

            combo.Items.Add(new ListItem("Dev.PowerSourceBuilding", Microsoft.Xna.Framework.Color.White));
            combo.Items.Add(new ListItem("Dev.PowerConsumeBuilding", Microsoft.Xna.Framework.Color.White));
            grid.Widgets.Add(combo);

            var xSizeText = new TextBlock
            {
                Top  = 25,
                Text = "XSize",
            };

            grid.Widgets.Add(xSizeText);
            var ySizeText = new TextBlock
            {
                Top  = 50,
                Text = "YSize",
            };

            grid.Widgets.Add(ySizeText);
            var xResolutionText = new TextBlock
            {
                Top  = 75,
                Text = "xResolution",
                Id   = "xResolution",
            };

            grid.Widgets.Add(xResolutionText);

            var yResolutionText = new TextBlock
            {
                Top  = 100,
                Text = "yResolution",
            }; grid.Widgets.Add(yResolutionText);


            var xSizeSpinButton = new SpinButton
            {
                Left       = 100,
                Id         = "xSize",
                PaddingTop = 25,
                Width      = 100,
                Minimum    = 0,
                Nullable   = false,
            };

            grid.Widgets.Add(xSizeSpinButton);

            var ySizeSpinButton = new SpinButton
            {
                Id       = "ySize",
                Left     = 100,
                Top      = 50,
                Width    = 100,
                Minimum  = 0,
                Nullable = false,
            };

            grid.Widgets.Add(ySizeSpinButton);

            var xResolutionSpinButton = new SpinButton
            {
                Left     = 100,
                Id       = "xResolution",
                Top      = 75,
                Width    = 100,
                Minimum  = 0,
                Nullable = false,
            };

            grid.Widgets.Add(xResolutionSpinButton);

            var yResolutionSpinButton = new SpinButton
            {
                Left     = 100,
                Top      = 100,
                Minimum  = 0,
                Width    = 100,
                Id       = "yResolution",
                Nullable = false,
            };

            grid.Widgets.Add(yResolutionSpinButton);

            var applyButton = new TextBlock
            {
                Top  = 125,
                Text = "Regenerate"
            };

            applyButton.MouseDown += (s, a) =>
            {
                UnLoadMap();

                LoadMap("testGererate");
            };
            grid.Widgets.Add(applyButton);

            // Add it to the desktop
            _desktop = new Desktop();
            _desktop.Widgets.Add(grid);
            console.Draw(_desktop);
        }