Ejemplo n.º 1
0
        protected void Initialize(string Title, bool ShowIDs)
        {
            SetTitle(Title);
            MinimumSize = MaximumSize = new Size(600, 469);
            SetSize(MaximumSize);
            Center();

            Label pickerlabel = new Label(this);

            pickerlabel.SetText("Maps");
            pickerlabel.SetPosition(18, 24);
            pickerlabel.SetFont(Font.Get("Fonts/Ubuntu-B", 14));
            Maps = new ListBox(this);
            Maps.SetPosition(25, 44);
            Maps.SetSize(151, 380);
            List <ListItem> items = new List <ListItem>();

            foreach (Map Map in this.MapList)
            {
                string Name = ShowIDs ? $"{Utilities.Digits(Map.ID, 3)}: {Map.DevName}" : Map.DevName;
                items.Add(new ListItem(Name, Map));
            }
            Maps.SetItems(items);
            Maps.OnSelectionChanged += delegate(BaseEventArgs e)
            {
                UpdatePreview();
            };

            Label previewlabel = new Label(this);

            previewlabel.SetText("Preview");
            previewlabel.SetPosition(192, 24);
            previewlabel.SetFont(Font.Get("Fonts/Ubuntu-B", 14));

            ColoredBox outline = new ColoredBox(this);

            outline.SetPosition(194, 44);
            outline.SetSize(380, 380);
            outline.SetOuterColor(59, 91, 124);
            outline.SetInnerColor(24, 38, 53);
            PreviewContainer = new Container(this);
            PreviewContainer.SetBackgroundColor(17, 27, 38);
            PreviewContainer.SetPosition(196, 46);
            PreviewContainer.SetSize(376, 376);

            MapBox           = new PictureBox(PreviewContainer);
            MapBox.ResizeBox = false;

            CreateButton("Cancel", Cancel);
            CreateButton("OK", OK);

            if (Maps.Items.Count > 0)
            {
                Maps.SetSelectedIndex(0);
            }
        }
Ejemplo n.º 2
0
        public TilesetPicker(Map Map)
        {
            this.Map = Map;
            SetTitle("Add Tileset");
            MinimumSize = MaximumSize = new Size(506, 498);
            SetSize(MaximumSize);
            Center();

            Label pickerlabel = new Label(this);

            pickerlabel.SetText("Tilesets");
            pickerlabel.SetPosition(18, 24);
            pickerlabel.SetFont(Font.Get("Fonts/Ubuntu-B", 14));
            Tilesets = new ListBox(this);
            Tilesets.SetPosition(25, 44);
            Tilesets.SetSize(151, 409);
            List <ListItem> items = new List <ListItem>();

            for (int i = 1; i < Data.Tilesets.Count; i++)
            {
                Tileset tileset = Data.Tilesets[i];
                items.Add(new ListItem($"{Utilities.Digits(i, 3)}: {tileset?.Name}", tileset));
            }
            Tilesets.SetItems(items);
            Tilesets.OnSelectionChanged += delegate(BaseEventArgs e)
            {
                UpdatePreview();
            };

            Label previewlabel = new Label(this);

            previewlabel.SetText("Preview");
            previewlabel.SetPosition(192, 24);
            previewlabel.SetFont(Font.Get("Fonts/Ubuntu-B", 14));
            previewbox = new GroupBox(this);
            previewbox.SetPosition(200, 44);
            previewbox.SetSize(280, 409);
            previewbox.Sprites["line"]   = new Sprite(previewbox.Viewport, new SolidBitmap(1, 405, new Color(40, 62, 84)));
            previewbox.Sprites["line"].X = 267;
            previewbox.Sprites["line"].Y = 2;
            scroll = new Container(previewbox);
            scroll.SetPosition(3, 3);
            scroll.SetSize(263, 403);
            scroll.SetVScrollBar(new VScrollBar(previewbox));
            scroll.VScrollBar.SetPosition(269, 3);
            scroll.VScrollBar.SetSize(8, 403);
            scroll.VAutoScroll = true;

            tileset = new PictureBox(scroll);

            CreateButton("Cancel", Cancel);
            CreateButton("OK", OK);

            Tilesets.SetSelectedIndex(0);
        }
Ejemplo n.º 3
0
        public void RedrawVariableBox()
        {
            List <ListItem> Items = new List <ListItem>();

            for (int i = 0; i < Editor.ProjectSettings.Variables[GroupBox.SelectedIndex].Variables.Count; i++)
            {
                Items.Add(new ListItem(Editor.ProjectSettings.Variables[GroupBox.SelectedIndex].Variables[i]));
            }
            VariableBox.SetItems(Items);
            if (VariableBox.SelectedIndex >= Items.Count)
            {
                VariableBox.SetSelectedIndex(Items.Count - 1);
            }
        }
Ejemplo n.º 4
0
        public void RedrawSwitchBox()
        {
            List <ListItem> Items = new List <ListItem>();

            for (int i = 0; i < Editor.ProjectSettings.Switches[GroupBox.SelectedIndex].Switches.Count; i++)
            {
                Items.Add(new ListItem(Editor.ProjectSettings.Switches[GroupBox.SelectedIndex].Switches[i]));
            }
            SwitchBox.SetItems(Items);
            if (SwitchBox.SelectedIndex >= Items.Count)
            {
                SwitchBox.SetSelectedIndex(Items.Count - 1);
            }
        }
Ejemplo n.º 5
0
        public void AddAutotile(BaseEventArgs e)
        {
            AutotilePicker picker = new AutotilePicker(Map);

            picker.OnClosed += delegate(BaseEventArgs e2)
            {
                bool update = false;
                if (Map.AutotileIDs.Count != picker.ResultIDs.Count)
                {
                    update = true;
                }
                if (!update)
                {
                    for (int i = 0; i < picker.ResultIDs.Count; i++)
                    {
                        if (picker.ResultIDs[i] != Map.AutotileIDs[i])
                        {
                            update = true;
                            break;
                        }
                    }
                }
                if (update)
                {
                    Map.AutotileIDs = picker.ResultIDs;
                    List <ListItem> autotileitems = new List <ListItem>();
                    for (int i = 0; i < this.Map.AutotileIDs.Count; i++)
                    {
                        int      id       = this.Map.AutotileIDs[i];
                        Autotile autotile = Data.Autotiles[id];
                        autotileitems.Add(new ListItem(autotile));
                    }
                    Autotiles.SetItems(autotileitems);
                }
            };
        }
Ejemplo n.º 6
0
        public void AddTileset(BaseEventArgs e)
        {
            TilesetPickerMap picker = new TilesetPickerMap(Map);

            picker.OnClosed += delegate(BaseEventArgs e2)
            {
                bool update = false;
                if (Map.TilesetIDs.Count != picker.ResultIDs.Count)
                {
                    update = true;
                }
                if (!update)
                {
                    for (int i = 0; i < picker.ResultIDs.Count; i++)
                    {
                        if (picker.ResultIDs[i] != Map.TilesetIDs[i])
                        {
                            update = true;
                            break;
                        }
                    }
                }
                if (update)
                {
                    Map.TilesetIDs = picker.ResultIDs;
                    List <ListItem> tilesetitems = new List <ListItem>();
                    for (int i = 0; i < this.Map.TilesetIDs.Count; i++)
                    {
                        int     id      = this.Map.TilesetIDs[i];
                        Tileset tileset = Data.Tilesets[id];
                        tilesetitems.Add(new ListItem(tileset));
                    }
                    Tilesets.SetItems(tilesetitems);
                }
            };
        }
Ejemplo n.º 7
0
        public MapPropertiesWindow(Map Map)
        {
            this.OldMap = Map;
            this.Map    = Map.Clone();
            this.SetTitle($"Map Properties - {Utilities.Digits(Map.ID, 3)}: {Map.DevName}");
            MinimumSize = MaximumSize = new Size(540, 460);
            SetSize(MaximumSize);
            this.Center();
            Label settings = new Label(this);

            settings.SetText("Info");
            settings.SetFont(Font.Get("Fonts/Ubuntu-B", 14));
            settings.SetPosition(12, 26);

            GroupBox box1 = new GroupBox(this);

            box1.SetPosition(19, 47);
            box1.SetSize(450, 203);

            Font f = Font.Get("Fonts/ProductSans-M", 12);

            Label namelabel = new Label(box1);

            namelabel.SetText("Working Name:");
            namelabel.SetFont(f);
            namelabel.SetPosition(7, 6);
            MapName = new TextBox(box1);
            MapName.SetPosition(6, 22);
            MapName.SetSize(136, 27);
            MapName.SetInitialText(Map.DevName);
            MapName.OnTextChanged += delegate(BaseEventArgs e)
            {
                this.Map.DevName = MapName.Text;
            };

            Label displaynamelabel = new Label(box1);

            displaynamelabel.SetText("In-game Name:");
            displaynamelabel.SetFont(f);
            displaynamelabel.SetPosition(7, 52);
            DisplayName = new TextBox(box1);
            DisplayName.SetPosition(6, 68);
            DisplayName.SetSize(136, 27);
            DisplayName.SetInitialText(Map.DisplayName);
            DisplayName.OnTextChanged += delegate(BaseEventArgs e)
            {
                this.Map.DisplayName = DisplayName.Text;
            };

            Label widthlabel = new Label(box1);

            widthlabel.SetText("Width:");
            widthlabel.SetFont(f);
            widthlabel.SetPosition(7, 99);
            Width = new NumericBox(box1);
            Width.SetPosition(6, 115);
            Width.MinValue = 1;
            Width.MaxValue = 255;
            Width.SetSize(66, 27);
            Width.SetValue(this.Map.Width);
            Width.OnValueChanged += delegate(BaseEventArgs e)
            {
                this.Map.Width = Width.Value;
            };

            Label heightlabel = new Label(box1);

            heightlabel.SetText("Height:");
            heightlabel.SetFont(f);
            heightlabel.SetPosition(78, 99);
            Height = new NumericBox(box1);
            Height.SetPosition(77, 115);
            Height.MinValue = 1;
            Height.MaxValue = 255;
            Height.SetSize(66, 27);
            Height.SetValue(this.Map.Height);
            Height.OnValueChanged += delegate(BaseEventArgs e)
            {
                this.Map.Height = Height.Value;
            };

            Tilesets = new ListBox(box1);
            Tilesets.SetPosition(162, 22);
            List <ListItem> tilesetitems = new List <ListItem>();

            for (int i = 0; i < this.Map.TilesetIDs.Count; i++)
            {
                int     id      = this.Map.TilesetIDs[i];
                Tileset tileset = Data.Tilesets[id];
                tilesetitems.Add(new ListItem(tileset));
            }
            Tilesets.SetItems(tilesetitems);
            Tilesets.SetButtonText("Add Tileset");
            Tilesets.ListDrawer.OnButtonClicked += AddTileset;

            Autotiles = new ListBox(box1);
            Autotiles.SetPosition(312, 22);
            List <ListItem> autotileitems = new List <ListItem>();

            for (int i = 0; i < this.Map.AutotileIDs.Count; i++)
            {
                int      id       = this.Map.AutotileIDs[i];
                Autotile autotile = Data.Autotiles[id];
                autotileitems.Add(new ListItem(autotile));
            }
            Autotiles.SetItems(autotileitems);
            Autotiles.SetButtonText("Add Autotile");
            Autotiles.ListDrawer.OnButtonClicked += AddAutotile;

            Label tilesetslabel = new Label(box1);

            tilesetslabel.SetText("Tilesets:");
            tilesetslabel.SetFont(f);
            tilesetslabel.SetPosition(163, 6);

            Label autotileslabel = new Label(box1);

            autotileslabel.SetText("Autotiles:");
            autotileslabel.SetFont(f);
            autotileslabel.SetPosition(313, 6);

            CreateButton("Cancel", Cancel);
            CreateButton("OK", OK);
        }