private void MakeBasicSurface() { basicSurface.Print(0, 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890".Repeat(9)); basicSurface.SetGlyph(0, 0, 7); basicSurface.SetGlyph(1, 0, 8); basicSurface.SetGlyph(2, 0, 9); basicSurface.SetGlyph(3, 0, 10); ColorGradient gradient = new ColorGradient(StarterProject.Theme.Blue, StarterProject.Theme.Yellow); for (int i = 0; i < 510; i += 10) { var point = basicSurface.GetPointFromIndex(i); basicSurface.Print(point.X, point.Y, gradient.ToColoredString(basicSurface.GetString(i, 10))); } // Mirror 1 int startSet1 = new Point(0, 3).ToIndex(34); int startSet2 = new Point(0, 6).ToIndex(34); int startSet3 = new Point(0, 9).ToIndex(34); for (int i = 0; i < 34 * 3; i++) { basicSurface.Cells[startSet1 + i].Mirror = Microsoft.Xna.Framework.Graphics.SpriteEffects.FlipVertically; basicSurface.Cells[startSet1 + i].Background = StarterProject.Theme.PurpleDark; basicSurface.Cells[startSet2 + i].Mirror = Microsoft.Xna.Framework.Graphics.SpriteEffects.FlipHorizontally; basicSurface.Cells[startSet2 + i].Background = StarterProject.Theme.OrangeDark; basicSurface.Cells[startSet3 + i].Mirror = Microsoft.Xna.Framework.Graphics.SpriteEffects.FlipHorizontally | Microsoft.Xna.Framework.Graphics.SpriteEffects.FlipVertically; basicSurface.Cells[startSet3 + i].Background = StarterProject.Theme.GreenDark; } }
public override bool ProcessMouse(MouseConsoleState state) { mouseCursor.IsVisible = state.IsOnConsole; mouseCursor.Position = state.ConsoleCellPosition; List <string> tooltipItems = GetToolTipItems(state.ConsoleCellPosition.X, state.ConsoleCellPosition.Y); if (tooltipItems.Count > 0) { tooltip.Resize(tooltipItems.GetLengthOfLongestItem(), tooltipItems.Count, true); int lineCounter = 0; foreach (var item in tooltipItems) { if (item.StartsWith("Ship")) { tooltip.Print(0, lineCounter, item, Color.White, Color.Black); } if (item.StartsWith("Star")) { tooltip.Print(0, lineCounter, item, Color.Yellow, Color.Black); } if (item.StartsWith("Planet")) { tooltip.Print(0, lineCounter, item, Color.CornflowerBlue, Color.Black); } if (item.StartsWith("Asteroid")) { tooltip.Print(0, lineCounter, item, Color.SandyBrown, Color.Black); } if (item.StartsWith("Moon")) { tooltip.Print(0, lineCounter, item, Color.GhostWhite, Color.Black); } if (item.StartsWith("Warpgate")) { tooltip.Print(0, lineCounter, item, Color.GreenYellow, Color.Black); } lineCounter++; } tooltip.Position = state.ConsoleCellPosition + new Point(1, 1); tooltip.IsVisible = true; } else { tooltip.IsVisible = false; } if ((tooltip.Position.X + tooltip.Width) > Width) { tooltip.Position = state.ConsoleCellPosition - new Point(tooltip.Width + 2, 0); } return(base.ProcessMouse(state)); }