Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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));
        }