public override void OnDraw() { Graphic.Clear(); Graphic.FitSizesToWindow(); var temp1 = GetSafePixelsList(paintPixels); for (int i = 0; i < temp1.Count; i++) { Graphic.Add(temp1[i].Char.ToString(), temp1[i].Position, temp1[i].Color); } var temp2 = GetSafePixelsList(tempPixels); for (int i = 0; i < temp2.Count; i++) { Graphic.Add(temp2[i].Char.ToString(), temp2[i].Position, temp2[i].Color); } temp2.Clear(); if (justSaved || justLoaded) { if (justSaved) { Graphic.AddRectangle(" ", new Colors(Colors.Color.Default, Colors.Color.Green), new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3)); justSaved = false; } if (justLoaded) { Graphic.AddRectangle(" ", new Colors(Colors.Color.Default, Colors.Color.Gray), new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3)); justLoaded = false; } } drawInterface(); drawHelp(); drawDebug(); if (MousePosition.IsInRectangle(new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3))) { Graphic.Add(" ", MousePosition, brush.BrushColor); } Graphic.Draw(); }
void drawInterface() { Graphic.AddRectangleBorder(" ", " ", " ", " ", " ", " ", " ", " ", Colors.Default, Coords.Zero, new Coords(Graphic.Width - 1, Graphic.Height - 1)); Graphic.AddRectangleBorder(" ", " ", " ", " ", " ", " ", " ", " ", Colors.Default, new Coords(1, 0), new Coords(Graphic.Width - 2, Graphic.Height - 1)); Graphic.AddRectangleBorder("═", "║", "═", "║", "╔", "╗", "╝", "╚", Colors.Default, new Coords(2, 1), new Coords(Graphic.Width - 3, Graphic.Height - 2)); Graphic.Add(" Debug: Q ", new Coords(1, 0), new Colors(Colors.Color.DarkGray, Colors.Color.Default)); if (MousePosition.IsInRectangle(new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3))) { Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Center, Origin.VerticalOrigin.Top)); Graphic.Add($"{MousePosition.X - 2}", new Coords(-2, 0)); Graphic.Add($"{MousePosition.Y - 1}", new Coords(2, 0)); } Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Right, Origin.VerticalOrigin.Top)); Graphic.Add(" Save: ENT, Load: SPC ", new Coords(-1, 0)); Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Left, Origin.VerticalOrigin.Bottom)); Graphic.Add(" Colors:", new Coords(1, 0)); Graphic.Add(" (1), (2), (3), (4), (5), (6), (7), (8).", new Coords(9, 0), new Colors(Colors.Color.DarkGray, Colors.Color.Default)); Graphic.Add(highlight.Text, highlight.Coords, highlight.Color); Graphic.Add(" ", new Coords(10, 0), new Colors(Colors.Color.Default, Colors.Color.Red)); Graphic.Add(" ", new Coords(11, 0), new Colors(Colors.Color.Default, Colors.Color.DarkRed)); Graphic.Add(" ", new Coords(18, 0), new Colors(Colors.Color.Default, Colors.Color.Yellow)); Graphic.Add(" ", new Coords(19, 0), new Colors(Colors.Color.Default, Colors.Color.DarkYellow)); Graphic.Add(" ", new Coords(26, 0), new Colors(Colors.Color.Default, Colors.Color.Green)); Graphic.Add(" ", new Coords(27, 0), new Colors(Colors.Color.Default, Colors.Color.DarkGreen)); Graphic.Add(" ", new Coords(34, 0), new Colors(Colors.Color.Default, Colors.Color.Cyan)); Graphic.Add(" ", new Coords(35, 0), new Colors(Colors.Color.Default, Colors.Color.DarkCyan)); Graphic.Add(" ", new Coords(42, 0), new Colors(Colors.Color.Default, Colors.Color.Blue)); Graphic.Add(" ", new Coords(43, 0), new Colors(Colors.Color.Default, Colors.Color.DarkBlue)); Graphic.Add(" ", new Coords(50, 0), new Colors(Colors.Color.Default, Colors.Color.Magenta)); Graphic.Add(" ", new Coords(51, 0), new Colors(Colors.Color.Default, Colors.Color.DarkMagenta)); Graphic.Add(" ", new Coords(58, 0), new Colors(Colors.Color.Default, Colors.Color.Gray)); Graphic.Add(" ", new Coords(59, 0), new Colors(Colors.Color.Default, Colors.Color.DarkGray)); Graphic.Add(" ", new Coords(66, 0), new Colors(Colors.Color.Default, Colors.Color.White)); Graphic.Add(" ", new Coords(67, 0), new Colors(Colors.Color.Default, Colors.Color.Black)); Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Right, Origin.VerticalOrigin.Bottom)); Graphic.Add(" First: LMB, Second: RMB, Clear: MMB ", new Coords(-1, 0)); Graphic.SetOrigin(Origin.Default); }