public IEnumerable <VersionUpdateResult> UpdateVersionInProject(string projectFile,
                                                                        string nameFilter, string versionFilter,
                                                                        string newVersion, bool suppressPrompt = false)
        {
            var doc   = XDocument.Parse(File.ReadAllText(projectFile));
            var items = new PackageReferenceXmlReader(doc)
                        .GetPackageReferenceElements(nameFilter, versionFilter);

            if (!items.Any())
            {
                return(null);
            }

            var pr = _mapper.Map(items);

            // ok lets provide confirmation
            _renderer.RenderProjectResults(0, _renderer.GetMaxNumPad(pr), projectFile, pr);

            if (!suppressPrompt)
            {
                ConsoleRender.W($"Are you sure you want to change versions for {pr.Count()} packages to ")
                .W($"{newVersion}", ConsoleColor.DarkMagenta).W(" ? Y/N: ");

                var inp = Console.ReadLine();
                if (!inp.Equals("Y", StringComparison.InvariantCultureIgnoreCase))
                {
                    return(null);
                }
            }

            return(_packageReferenceUpdater.UpdateVersion(projectFile, nameFilter, versionFilter, newVersion));
        }
Пример #2
0
        public bool SetNugetPackageVersions(SearchQueryFilter filter, string setVersion,
                                            IEnumerable <ProjectFile> projFiles, string strPad, ProjectNugetVersionUpdater tools)
        {
            var nameFilter    = filter.Name;
            var versionFilter = filter.Version;

            var numProjectFiles = projFiles.Count();

            if (numProjectFiles < 1)
            {
                ConsoleRender.W("No file(s) matching spec:")
                .W($"\n{strPad}Name    : {nameFilter}")
                .W($"\n{strPad}Version : {versionFilter}\n");
                return(true);
            }

            ConsoleRender.W($"Are you sure you want to change versions for {numProjectFiles} project files to ")
            .W($"{setVersion}", ConsoleColor.DarkMagenta).W(" ? Y/N: ");

            var inp = Console.ReadLine();

            if (!inp.Equals("Y", StringComparison.InvariantCultureIgnoreCase))
            {
                return(true);
            }

            // update versions
            tools.UpdateVersionInProjects(projFiles, nameFilter, versionFilter, setVersion, true);

            ConsoleRender.W($"Updated {numProjectFiles} projects with packages to version {setVersion}");
            return(false);
        }
Пример #3
0
 public override void NewRoundStarted(GameMap gameState)
 {
     ConsoleRender.RenderToConsolePretty(gameState, BattleshipPlayer.PlayerType);
     if (gameState.Phase == 1)
     {
         try
         {
             FirstRoundCommand();
         }
         catch (Exception exception)
         {
             Console.WriteLine(exception);
             Console.WriteLine("Please try again");
             Console.WriteLine();
             FirstRoundCommand();
         }
     }
     else
     {
         try
         {
             GeneralCommands();
         }
         catch (Exception exception)
         {
             Console.WriteLine(exception);
             Console.WriteLine("Please try again");
             Console.WriteLine();
             GeneralCommands();
         }
     }
 }
Пример #4
0
        private static void Main()
        {
            ICommandInputProvider commandInput  = new CommandReader();
            IInfoInputProvider    menuInput     = new Menu();
            IInputProvider        inputProvider = new ConsoleInputProvider(commandInput, menuInput);

            IInfoRenderer      infoPanel       = new InfoPanel();
            IPlayFieldRenderer playFieldPanel  = new PlayFieldPanel();
            ILadderRenderer    topScoresPanel  = new TopScoresPanel();
            IRenderer          consoleRenderer = new ConsoleRender(infoPanel, playFieldPanel, topScoresPanel);

            LabyrinthFacade.Start(consoleRenderer, inputProvider, FileLogger.Instance());
        }
Пример #5
0
        public void DrawRevealedLetterOneLetterCorrectMessageTest()
        {
            IFileReader fileReader  = new FileReader();
            IRenderer   render      = new ConsoleRender();
            IDrawable   drawManager = new DrawManager(fileReader, render);

            var consoleOutput = new ConsoleOutput();

            drawManager.DrawRevealedLetter(1);

            var expected = GlobalConstants.RevealedLetter + "1 letter" + Environment.NewLine;

            Assert.AreEqual(expected, consoleOutput.GetOuput());
        }
Пример #6
0
        public void DrawNewLineCorrectMessageTest()
        {
            IFileReader fileReader  = new FileReader();
            IRenderer   render      = new ConsoleRender();
            IDrawable   drawManager = new DrawManager(fileReader, render);

            var consoleOutput = new ConsoleOutput();

            drawManager.DrawNewLine();

            var expected = Environment.NewLine;

            Assert.AreEqual(expected, consoleOutput.GetOuput());
        }
Пример #7
0
        public void DrawEnterLetterMessageCorrectMessageTest()
        {
            IFileReader fileReader  = new FileReader();
            IRenderer   render      = new ConsoleRender();
            IDrawable   drawManager = new DrawManager(fileReader, render);

            var consoleOutput = new ConsoleOutput();

            drawManager.DrawEnterLetterMessage();

            var expected = GlobalConstants.EnterLetter;

            Assert.AreEqual(expected, consoleOutput.GetOuput());
        }
Пример #8
0
        public void PlayAgainCorrectMessageTest()
        {
            IFileReader fileReader  = new FileReader();
            IRenderer   render      = new ConsoleRender();
            IDrawable   drawManager = new DrawManager(fileReader, render);

            var consoleOutput = new ConsoleOutput();

            drawManager.PlayAgain();

            var expected = GlobalConstants.PlayAgain + Environment.NewLine;

            Assert.AreEqual(expected, consoleOutput.GetOuput());
        }
Пример #9
0
        public void DrawLostMessageCorrectMessageTest()
        {
            IFileReader fileReader  = new FileReader();
            IRenderer   render      = new ConsoleRender();
            IDrawable   drawManager = new DrawManager(fileReader, render);

            var consoleOutput = new ConsoleOutput();

            drawManager.DrawLostMessage("test");

            var expected = GlobalConstants.Lost + Environment.NewLine + GlobalConstants.SecretWord + "test" + Environment.NewLine;

            Assert.AreEqual(expected, consoleOutput.GetOuput());
        }
Пример #10
0
 public override void PlayerKilled(GameMap gameMap)
 {
     if (_clientSocket.Connected)
     {
         try
         {
             var renderer = new ConsoleRender(gameMap);
             SocketHarnessMessage.SendMessage(_clientSocket, SocketHarnessMessage.MessageType.Killed, renderer.RenderTextGameState().ToString());
         }
         catch (Exception ex)
         {
             Console.WriteLine("Could not send message to client " + Name + " because it disconnected");
             Console.WriteLine(ex);
         }
     }
 }
Пример #11
0
        public override void NewRoundStarted(GameMap gameState)
        {
            ConsoleRender.RenderToConsolePretty(gameState, playerKey);

            Console.WriteLine("To move, type a,w,s,d and press enter");
            Console.WriteLine("To plant a bomb, type z and enter");
            Console.WriteLine("You can reduce the bomb timer to 1 using x");
            Console.WriteLine();
            Console.WriteLine("Movement for player " + Name);
            var line = System.Console.ReadLine();

            if (line == "w")
            {
                PublishCommand(new MovementCommand(MovementCommand.Direction.Up));
            }
            else if (line == "s")
            {
                PublishCommand(new MovementCommand(MovementCommand.Direction.Down));
            }
            else if (line == "a")
            {
                PublishCommand(new MovementCommand(MovementCommand.Direction.Left));
            }
            else if (line == "d")
            {
                PublishCommand(new MovementCommand(MovementCommand.Direction.Right));
            }
            else if (line == "z")
            {
                PublishCommand(new PlaceBombCommand());
            }
            else if (line == "x")
            {
                PublishCommand(new TriggerBombCommand());
            }
            else
            {
                PublishCommand(new DoNothingCommand());
            }
        }
Пример #12
0
        public override void NewRoundStarted(GameMap gameState)
        {
            var renderer = new ConsoleRender(gameState);

            if (_clientSocket.Connected)
            {
                try
                {
                    SocketHarnessMessage.SendMessage(_clientSocket, SocketHarnessMessage.MessageType.GameMap,
                                                     renderer.RenderTextGameState().ToString());
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Could not send message to client " + Name + " because it disconnected");
                    Console.WriteLine(ex);
                }
            }
            else
            {
                PublishCommand(new DoNothingCommand());
            }
        }
Пример #13
0
        static void Main()
        {
            IConsoleInputController inputController = new ConsoleInputController();
            IConsoleRender          renderer        = new ConsoleRender();

            ICommandFactory commandFactory = new CommandFactory();
            IWeaponFactory  weaponFactory  = new WeaponFactory();
            IGemFactory     gemFactory     = new GemFactory();

            IInventory inventory = new Inventory();

            IEngine engine = new Engine.Engine(
                renderer,
                inputController,
                commandFactory,
                weaponFactory,
                gemFactory,
                inventory
                );

            engine.Run();
        }
Пример #14
0
        public static void Main()
        {
            ConsoleRender cr = new ConsoleRender();

            Console.WriteLine(cr.header());
            do
            {
                string suspend = "";
                try
                {
                    do
                    {
                        Console.WriteLine("Press 'x' to pause.");
                        ThreadHandler thread = new ThreadHandler();
                        thread.Start();

                        suspend = Console.ReadLine();
                        if (suspend == "x")
                        {
                            thread.Pause();
                            Console.WriteLine("Suspended!");
                            Console.WriteLine("Press 'y' to start again.");
                            if (Console.ReadLine() == "y")
                            {
                                Console.Clear();
                                Console.WriteLine(cr.header());
                                Console.WriteLine("Started");
                                thread.Resume();
                            }
                        }
                    } while (suspend != "y" && suspend != "n");
                }
                catch (Exception)
                {
                }
            } while (true);
        }
Пример #15
0
 public State(ConsoleRender render)
 {
     Render = render;
 }
Пример #16
0
        public static RootConsoleWindow Setup(int width, int height, string windowTitle, bool isFullscreen, ConsoleRender render, CustomFontRequest font = null)
        {
            if (Instance != null)
            {
                throw new InvalidOperationException("Can not setup RootConsole twice");
            }

            if (font == null)
            {
                Instance = new RootConsoleWindow(new Size(width, height), windowTitle, isFullscreen, render);
            }
            else
            {
                Instance = new RootConsoleWindow(new Size(width, height), windowTitle, isFullscreen, font, render);
            }

            return(Instance);
        }
Пример #17
0
 private RootConsoleWindow(Size s, String title, bool fullscreen, CustomFontRequest font, ConsoleRender renderer)
     : base(IntPtr.Zero, s.Width, s.Height)
 {
     TCOD_console_set_custom_font(font.FontFile, (int)font.FontRequestType, font.NumberHorizontalChars, font.NumberVerticalChars);
     TCOD_console_init_root(s.Width, s.Height, title, fullscreen, renderer);
 }
Пример #18
0
 private RootConsoleWindow(Size s, String title, bool fullscreen, ConsoleRender renderer)
     : base(IntPtr.Zero, s.Width, s.Height)
 {
     TCOD_console_init_root(s.Width, s.Height, title, fullscreen, renderer);
 }
Пример #19
0
 private extern static void TCOD_console_init_root(int w, int h, [MarshalAs(UnmanagedType.LPStr)] string title, bool fullscreen, ConsoleRender renderer);
Пример #20
0
 public Focus(ConsoleRender render)
 {
     Items       = new List <IFocusable>();
     this.Render = render;
 }
Пример #21
0
 private void EngineOnGameStarted(GameMap gameMap)
 {
     ConsoleRender.RenderToConsolePretty(gameMap, 'Z');
 }
Пример #22
0
 void engine_RoundComplete(GameMap gameMap, int round)
 {
     ConsoleRender.RenderToConsolePretty(gameMap, 'Z');
 }
Пример #23
0
        public static void Main(string[] args)
        {
            var render     = new ConsoleRender();
            var score      = new Score();
            var click_data = new ClickData();

            var items = new List <Item> {
                new Item(10, 0.1m, "First Item"),
                new Item(50, 1.1m, "Second Item")
            };
            var   focus = new Focus(render);
            State state = new State(render)
            {
                ClickData = click_data,
                Score     = score,
                Items     = items,
                Focus     = focus
            };

            click_data.OnClick = (state) =>
            {
                state.Score.Value += click_data.ClickValue;
                click_data.TotalClicks++;
                render.Update();
            };
            render.Add(score);
            render.Add(state);
            render.Add(click_data);
            items.ForEach(item =>
            {
                render.Add(item);
                focus.Add(item);
            });
            render.Add(new Hints());
            new TimerBasedAction(1000, () =>
            {
                score.Value += state.TotalIncome;
                render.Update();
            }).Start();
            new Thread(
                new ThreadStart(() =>
            {
                Take_User_Input:
                var input = Console.ReadKey(true).Key;
                if (UserInputs.InputMap.TryGetValue(input, out Action <State> action))
                {
                    action.Invoke(state);
                    render.Update();
                }
                goto Take_User_Input;
            })
                ).Start();

            var _quitEvent = new ManualResetEvent(false);

            Console.CancelKeyPress += (sender, eArgs) => {
                _quitEvent.Set();
                eArgs.Cancel = true;
            };
            // kick off asynchronous stuff
            Console.BackgroundColor = ConsoleColor.DarkBlue;
            render.Update();
            _quitEvent.WaitOne();
        }