public MapViewerEvents(IContainer Parent) : base(Parent) { Cursor = new CursorWidget(MainContainer); Cursor.ConsiderInAutoScrollCalculation = false; Cursor.SetZIndex(6); RegisterShortcuts(new List <Shortcut>() { new Shortcut(this, new Key(Keycode.RETURN), delegate(BaseEventArgs e) { CreateOrOpenEvent(SelectedEventID); }, false), new Shortcut(this, new Key(Keycode.DELETE), delegate(BaseEventArgs e) { DeleteSelectedEvent(); }, false), new Shortcut(this, new Key(Keycode.DOWN), delegate(BaseEventArgs e) { MoveCursor(0, 1); }, false), new Shortcut(this, new Key(Keycode.LEFT), delegate(BaseEventArgs e) { MoveCursor(-1, 0); }, false), new Shortcut(this, new Key(Keycode.RIGHT), delegate(BaseEventArgs e) { MoveCursor(1, 0); }, false), new Shortcut(this, new Key(Keycode.UP), delegate(BaseEventArgs e) { MoveCursor(0, -1); }, false) }); }
public MapViewerTiles(IContainer Parent) : base(Parent) { GridLayout.Columns.Add(new GridSize(288, Unit.Pixels)); GridLayout.UpdateContainers(); // Right sidebar Grid sidebargrid = new Grid(GridLayout); sidebargrid.SetGrid(0, 1, 2, 2); sidebargrid.SetRows(new GridSize(5), new GridSize(2, Unit.Pixels), new GridSize(2)); sidebargrid.SetColumns(new GridSize(1)); // Tileset part of right sidebar TilesPanel = new TilesPanel(sidebargrid); TilesPanel.SetBackgroundColor(28, 50, 73); TilesPanel.MapViewer = this; Editor.MainWindow.MapWidget.TilesPanel = TilesPanel; // Inner right sidebar divider Widget InnerRightSidebarDivider = new Widget(sidebargrid); InnerRightSidebarDivider.SetBackgroundColor(10, 23, 37); InnerRightSidebarDivider.SetGridRow(1); // Layers part of right sidebar LayerPanel = new LayerPanel(sidebargrid); LayerPanel.SetBackgroundColor(28, 50, 73); LayerPanel.SetGridRow(2); LayerPanel.MapViewer = this; Editor.MainWindow.MapWidget.LayerPanel = LayerPanel; SelectionBackground = new SelectionBackground(MainContainer); SelectionBackground.SetZIndex(2); Cursor = new CursorWidget(MainContainer); Cursor.ConsiderInAutoScrollCalculation = false; Cursor.SetZIndex(6); RegisterShortcuts(new List <Shortcut>() { new Shortcut(this, new Key(Keycode.ESCAPE), CancelSelection) }); }
public AutotilePickerMap() { SetTitle("Individual Tile Combinations"); MinimumSize = MaximumSize = new Size(313, 285); SetSize(MaximumSize); Center(); RectSprite bg1 = new RectSprite(this.Viewport); bg1.SetOuterColor(59, 91, 124); bg1.SetSize(278, 210); bg1.X = 19; bg1.Y = 34; Sprites["bg1"] = bg1; RectSprite bg2 = new RectSprite(this.Viewport); bg2.SetSize(276, 208); bg2.X = 20; bg2.Y = 35; bg2.SetOuterColor(17, 27, 38); bg2.SetInnerColor(24, 38, 53); Sprites["bg2"] = bg2; CreateButton("Cancel", delegate(BaseEventArgs e) { SelectedTileID = -1; Close(); }); CreateButton("OK", delegate(BaseEventArgs e) { Close(); }); Sprites["tiles"] = new Sprite(this.Viewport); Sprites["tiles"].X = 23; Sprites["tiles"].Y = 38; Cursor = new CursorWidget(this); Cursor.SetPosition(Sprites["tiles"].X - 7, Sprites["tiles"].Y - 7); Cursor.SetSize(32 + 14, 32 + 14); }
public TilesPanel(IContainer Parent) : base(Parent) { Label Header = new Label(this); Header.SetText("Tiles"); Header.SetFont(Font.Get("Fonts/Ubuntu-B", 16)); Header.SetPosition(5, 5); Sprites["sep"] = new Sprite(this.Viewport, new SolidBitmap(288, 2, new Color(10, 23, 37))); Sprites["sep"].Y = 50; Sprites["slider"] = new Sprite(this.Viewport, new SolidBitmap(10, Size.Height - 34, new Color(10, 23, 37))); Sprites["slider"].Y = 53; this.OnWidgetSelected += WidgetSelected; CursorIM = new MouseInputManager(this); MainContainer = new Container(this); MainContainer.SetPosition(0, 53); MainContainer.VAutoScroll = true; VScrollBar vs = new VScrollBar(this); MainContainer.SetVScrollBar(vs); Cursor = new CursorWidget(MainContainer); Cursor.SetPosition(3, 8); Cursor.SetZIndex(1); MainStackPanel = new VStackPanel(MainContainer); MainStackPanel.SetWidth(264); MainStackPanel.SetPosition(8, 3); DrawToolsContainer = new Container(this); DrawToolsContainer.SetPosition(46, 22); DrawToolsContainer.SetSize(186, 28); DrawToolsContainer.Sprites["line1"] = new Sprite(DrawToolsContainer.Viewport, new SolidBitmap(1, 26, new Color(28, 50, 73))); DrawToolsContainer.Sprites["line1"].X = 144; DrawToolsContainer.Sprites["line2"] = new Sprite(DrawToolsContainer.Viewport, new SolidBitmap(1, 26, new Color(28, 50, 73))); DrawToolsContainer.Sprites["line2"].X = 185; PencilButton = new IconButton(DrawToolsContainer); PencilButton.SetIcon(15, 0); PencilButton.SetSelected(true); FillButton = new IconButton(DrawToolsContainer); FillButton.SetIcon(16, 0); FillButton.SetPosition(32, 0); EllipseButton = new IconButton(DrawToolsContainer); EllipseButton.SetIcon(17, 0); EllipseButton.SetPosition(64, 0); RectButton = new IconButton(DrawToolsContainer); RectButton.SetIcon(18, 0); RectButton.SetPosition(96, 0); SelectButton = new IconButton(DrawToolsContainer); SelectButton.SetIcon(19, 0); SelectButton.SetPosition(128, 0); SelectButton.OnSelection += delegate(BaseEventArgs e) { MapViewer.Cursor.SetVisible(false); Cursor.SetPosition(0, 0); Cursor.SetVisible(false); }; SelectButton.OnDeselection += delegate(BaseEventArgs e) { UpdateCursor(); }; EraserButton = new IconButton(DrawToolsContainer); EraserButton.SetIcon(20, 0); EraserButton.SetPosition(160, 0); EraserButton.Toggleable = true; EraserButton.OnSelection += delegate(BaseEventArgs e) { if (AutotileIndex != -1 || TilesetIndex != -1 || TileStartX != -1 || TileEndX != -1 || TileStartY != -1 || TileEndY != -1) { SelectTile(null); } }; EraserButton.OnDeselection += delegate(BaseEventArgs e) { if (AutotileIndex == -1 && TilesetIndex == -1 && TileStartX == -1 && TileEndX == -1 && TileStartY == -1 && TileEndY == -1 && !MapViewer.SelectionOnMap) { SelectTile(0, 0, 0); } else { UpdateCursor(); } }; SetSize(288, 200); // Dummy size so the sprites can be drawn properly }
public ChooseGraphic(EventGraphic graphic) { this.OldGraphic = graphic; this.GraphicData = graphic.Clone(); SetTitle("Choose Graphic"); MinimumSize = MaximumSize = new Size(735, 421); SetSize(MaximumSize); Center(); Label GraphicLabel = new Label(this); GraphicLabel.SetFont(Font.Get("Fonts/Ubuntu-B", 16)); GraphicLabel.SetText("Current Graphic"); GraphicLabel.SetPosition(559, 35); Color outline = new Color(59, 91, 124); Color inline = new Color(17, 27, 38); Color filler = new Color(24, 38, 53); Sprites["gfxbox"] = new Sprite(this.Viewport); Sprites["gfxbox"].X = 542; Sprites["gfxbox"].Y = 59; Sprites["gfxbox"].Bitmap = new Bitmap(177, 177); Sprites["gfxbox"].Bitmap.Unlock(); Sprites["gfxbox"].Bitmap.DrawRect(0, 0, 177, 177, outline); Sprites["gfxbox"].Bitmap.DrawRect(1, 1, 175, 175, inline); Sprites["gfxbox"].Bitmap.FillRect(2, 2, 173, 173, filler); Sprites["gfxbox"].Bitmap.FillRect(163, 163, 13, 13, outline); Sprites["gfxbox"].Bitmap.DrawLine(162, 1, 162, 162, inline); Sprites["gfxbox"].Bitmap.DrawLine(163, 1, 163, 162, outline); Sprites["gfxbox"].Bitmap.DrawLine(164, 1, 164, 162, inline); Sprites["gfxbox"].Bitmap.DrawLine(165, 162, 174, 162, inline); Sprites["gfxbox"].Bitmap.DrawLine(1, 162, 162, 162, inline); Sprites["gfxbox"].Bitmap.DrawLine(1, 163, 162, 163, outline); Sprites["gfxbox"].Bitmap.DrawLine(1, 164, 162, 164, inline); Sprites["gfxbox"].Bitmap.DrawLine(162, 165, 162, 174, inline); Sprites["gfxbox"].Bitmap.Lock(); Container GraphicContainer = new Container(this); GraphicContainer.SetPosition(544, 61); GraphicContainer.SetSize(160, 160); GraphicContainer.HAutoScroll = true; GraphicContainer.VAutoScroll = true; VScrollBar vs = new VScrollBar(this); vs.SetPosition(708, 62); vs.SetSize(10, 158); GraphicContainer.SetVScrollBar(vs); HScrollBar hs = new HScrollBar(this); hs.SetPosition(545, 225); hs.SetSize(158, 10); GraphicContainer.SetHScrollBar(hs); Graphic = new PictureBox(GraphicContainer); Cursor = new CursorWidget(GraphicContainer); Cursor.ConsiderInAutoScrollCalculation = false; Font f = Font.Get("Fonts/ProductSans-M", 12); TypeLabel = new Label(this); TypeLabel.SetPosition(547, 244); TypeLabel.SetFont(f); TypeLabel.SetText("Type: File"); Label DirectionLabel = new Label(this); DirectionLabel.SetFont(f); DirectionLabel.SetText("Direction:"); DirectionLabel.SetPosition(547, 269); DirectionBox = new DropdownBox(this); DirectionBox.SetPosition(609, 263); DirectionBox.SetSize(110, 25); DirectionBox.SetItems(new List <ListItem>() { new ListItem("Down"), new ListItem("Left"), new ListItem("Right"), new ListItem("Up") }); DirectionBox.SetSelectedIndex(GraphicData.Direction / 2 - 1); DirectionBox.OnSelectionChanged += delegate(BaseEventArgs e) { GraphicData.Direction = (DirectionBox.SelectedIndex + 1) * 2; if (GraphicData.NumDirections == 1) { GraphicData.NumDirections = 4; NumDirectionsBox.SetSelectedIndex(1); } RedrawGraphic(); }; Label NumDirectionsLabel = new Label(this); NumDirectionsLabel.SetFont(f); NumDirectionsLabel.SetText("Number of Directions:"); NumDirectionsLabel.SetPosition(547, 308); NumDirectionsBox = new DropdownBox(this); NumDirectionsBox.SetPosition(679, 304); NumDirectionsBox.SetSize(40, 25); NumDirectionsBox.SetItems(new List <ListItem>() { new ListItem("1"), new ListItem("4") }); NumDirectionsBox.SetSelectedIndex(GraphicData.NumDirections == 1 ? 0 : 1); NumDirectionsBox.OnSelectionChanged += delegate(BaseEventArgs e) { GraphicData.NumDirections = NumDirectionsBox.SelectedIndex == 0 ? 1 : 4; RedrawGraphic(); }; Label NumFramesLabel = new Label(this); NumFramesLabel.SetFont(f); NumFramesLabel.SetText("Number of Frames:"); NumFramesLabel.SetPosition(547, 348); NumFramesBox = new NumericBox(this); NumFramesBox.SetPosition(669, 343); NumFramesBox.SetSize(50, 27); NumFramesBox.MinValue = 1; NumFramesBox.MaxValue = 999; NumFramesBox.SetValue(GraphicData.NumFrames); NumFramesBox.OnValueChanged += delegate(BaseEventArgs e) { GraphicData.NumFrames = NumFramesBox.Value; RedrawGraphic(); }; FileExplorer = new FileExplorer(this); FileExplorer.SetPosition(1, 24); FileExplorer.SetSize(529, 396); FileExplorer.SetBaseDirectory(Data.ProjectPath); FileExplorer.SetFileExtensions("png"); string dir = ""; if (GraphicData.Param != null) { List <string> dirs = ((string)GraphicData.Param).Split('/').ToList(); for (int i = 0; i < dirs.Count - 1; i++) { dir += dirs[i]; if (i != dirs.Count - 2) { dir += "/"; } } } else { dir = "gfx/characters"; } FileExplorer.SetDirectory(dir); FileExplorer.OnFileSelected += delegate(BaseEventArgs e) { string param = FileExplorer.SelectedFilename.Replace(Data.ProjectPath + "/", "").Replace(".png", ""); if (param != (string)this.GraphicData.Param) { this.GraphicData = new EventGraphic(); this.GraphicData.Type = ":file"; this.GraphicData.Param = param; DirectionBox.SetSelectedIndex(0); NumDirectionsBox.SetSelectedIndex(1); NumFramesBox.SetValue(4); RedrawGraphic(); } }; FileExplorer.SetSelectedFile((string)GraphicData.Param + ".png"); CreateButton("Cancel", Cancel); Buttons[0].SetPosition(Size.Width - 99, Buttons[0].Position.Y); CreateButton("OK", OK); Buttons[1].SetPosition(Size.Width - 188, Buttons[1].Position.Y); RedrawGraphic(); }