public void ShowTerritorySelectionScreen(Game1 game) { string title, introduction; // clear existing menu SadConsole.Engine.ConsoleRenderStack.Clear(); title = "[ SELECT A TERRITORY TO EXPLORE ]"; introduction = String.Empty; // get list of territories game.TerritoryList = TerritoryBuilder.GetRandomTerritoryList(game.Random, 3, 9); // build territory menu items string territoryString; Territory t; List <MenuItem> menuItems = new List <MenuItem>(); menuItems.Add(new MenuItem("Get More Territories", 0, null)); for (int i = 0; i < game.TerritoryList.Count; i++) { t = game.TerritoryList.ElementAt(i); territoryString = String.Format("{0} {1} [{2}]", t.LocationPrefixType.Name, t.ZoneType.Name, t.TerrainType.Name); menuItems.Add(new MenuItem(territoryString, i, null)); } // add to menu MenuConsole Menu = new MenuConsole(ConsoleConstants.TotalWidth, ConsoleConstants.TotalHeight, title, introduction, menuItems); SadConsole.Engine.ActiveConsole = Menu; SadConsole.Engine.ConsoleRenderStack.Add(Menu); }
private static void Init() { var player = map.Actors.Single(a => a is Player) as Player; var mapConsole = new MapConsole(game, true, new AStarPathFinder()); var logConsole = new LogConsole(); var messageConsole = new MessageConsole(); var statusConsole = new StatusConsole(player); var menuConsole = new MenuConsole(Width, Height); var inventory = new InventoryConsole(player); var keyboardHandler = new KeyboardHandler(mapConsole, logConsole, messageConsole, player, inventory, menuConsole, game, () => StartGame(rnd)); var mainConsole = new MainConsole(mapConsole, logConsole, messageConsole, statusConsole, keyboardHandler, inventory); mainConsole.Children.Add(mapConsole); mainConsole.Children.Add(logConsole); mainConsole.Children.Add(messageConsole); mainConsole.Children.Add(statusConsole); mainConsole.Children.Add(inventory); mainConsole.Children.Add(menuConsole); SadConsole.Game.Instance.Screen = mainConsole; }
static void Main(string[] args) { IO io = new IO(); List <object> inputResults = new List <object>(); List <object> computeResults = new List <object>(); Menu trapezMenu = new MenuConsole("Sympson method", io); Menu inputMenu = new MenuConsole("Sympson method", io); Menu computeMenu = new MenuConsole("Compute menu", io); Menu outputMenu = new MenuConsole("Output menu", io); inputMenu.Add("Input via Console", new Func <Tuple <Function, double, double, double> >(io.GetFunctionAndParams), null, ref inputResults, true); computeMenu.Add("Compute", new MyFunc <List <object> >(Trapezium.Solve), new List <object> { inputResults }, ref computeResults, true); outputMenu.Add("Print results", new Action <List <object> >(io.Print), new List <object> { computeResults }, false); trapezMenu.Add("Sympson method", inputMenu, false); trapezMenu.AddAction(computeMenu, false); computeMenu.AddAction(outputMenu, false); trapezMenu.Start(); }
public Screen(int width, int height) { MainConsole = new MainConsole(width - MENU_WIDTH - 1, height - MESSAGES_HEIGHT); MessageConsole = new MessageConsole(1, height - MESSAGES_HEIGHT + 1, width, MESSAGES_HEIGHT); MenuConsole = new MenuConsole(width - MENU_WIDTH, 1, MENU_WIDTH + 1, height - MESSAGES_HEIGHT + 1); StartScreen = new StartScreen(width + 2, height + 2); }
public void OpenGameMenu() { Guard.Against(GameMode.CurrentMode == EngineMode.MenuOpen); MenuConsole.Clear(); MenuConsole.Print(2, 4, GameInProgress ? "R) Return to game" : "B) Begin new game"); MenuConsole.Print(2, 6, "S) Save game"); MenuConsole.Print(2, 8, "L) Load game"); MenuConsole.Print(2, 10, "Q) Quit"); MenuWindow.Show(); GameMode.PushEngineMode(EngineMode.MenuOpen, null); }
public KeyboardHandler(MapConsole mapConsole, LogConsole logConsole, MessageConsole messageConsole, Player player, InventoryConsole inventory, MenuConsole menuConsole, Game game, Action startGame) { this.mapConsole = mapConsole; this.logConsole = logConsole; this.messageConsole = messageConsole; this.player = player; this.inventory = inventory; this.menuConsole = menuConsole; this.game = game; this.startGame = startGame; state = InputState.Idle; mapConsole.IsFocused = true; actions = new List <Action>(); }
public async Task InitConsole() { try { //StartLogin(); //Inicia a api criando o usuario e iniciando o login String IdAccess = await Login.Start(); if (IdAccess != null) { ApiGSPN = new GSPNApi(new Usuario(IdAccess)); //inicia o cookie com id de acesso do usuario await ApiGSPN.GetCookieByIdAccess(); await ApiGSPN.GetUserData(); } Console.Clear(); List <ConsoleMenuItem> items = new List <ConsoleMenuItem>(); items.Add(new ConsoleMenuItem("Pesquisar aparelho by serial port", async() => await StartATAparelhoView())); items.Add(new ConsoleMenuItem("Ver Numero de Registros de dia", async() => { await StartCountCadastroClass(); })); items.Add(new ConsoleMenuItem("Procurar cliente", () => StartClientClass())); items.Add(new ConsoleMenuItem("Set Registros", () => StartCadastroClass())); items.Add(new ConsoleMenuItem("Visualizar data serial", () => StartDataSerialFile())); items.Add(new ConsoleMenuItem("Visualizar data", () => StartDataFile())); items.Add(new ConsoleMenuItem("Start Diagnostico", () => StartDiagnostico())); items.Add(new ConsoleMenuItem("Sair", async() => await EndMenu())); var menu = new MenuConsole(version.versionCode.ToString() + "IdAccess: " + (ApiGSPN == null ? "Offline" : IdAccess), items); menu.RunConsoleMenu(); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void RenderMenuOptions() { MenuConsole.Clear(); int StartLine = 1; foreach (var option in Menu) { string OptionText = string.Format("{0} [{1}]", option.Display, (option.Key.ToString().Length > 1 ? option.Key.ToString().TrimStart('D') : option.Key.ToString())); int Lines = (int)System.Math.Ceiling((double)OptionText.Length / (double)MenuConsole.Width); Color background = option.Selected ? option.Forground : option.Background; Color forground = option.Selected ? option.Background : option.Forground; MenuConsole.Print(0, StartLine, OptionText, forground, background); option.X = 0; option.Y = StartLine; StartLine += Lines + 1; } }
static void Main(string[] args) { int maxMatrixHeight = 20; int generatedMatrixMaxSize = 20; const int generatedMatrixMinSize = 0; IO io = new IO(); List <object> input = new List <object>(); List <object> matrixResutlts = new List <object>(); Menu mainMenu = new MenuConsole("Gauss programm", io); Menu inputMenu = new MenuConsole("Choose your input", io); Menu computeMenu = new MenuConsole("What to do next", io); Menu resultsMenu = new MenuConsole("Choose info you are interested in", io); inputMenu.Add("Input from console", new Func <int, double[, ]>(io.ConsoleMatrixInput), new List <object> { maxMatrixHeight }, ref input, true); inputMenu.AddAction(new Action <List <object>, int>(io.PrintMatrix), new List <object> { input, maxMatrixHeight }, false); inputMenu.Add("Input from file", new Func <int, double[, ]>(io.FileMatrixInput), new List <object> { maxMatrixHeight }, ref input, true); inputMenu.AddAction(new Action <List <object>, int>(io.PrintMatrix), new List <object> { input, maxMatrixHeight }, false); inputMenu.Add("Random matrix", new Func <int, int, int, double[, ]>(io.GenerateMatrix), new List <object> { maxMatrixHeight, generatedMatrixMaxSize, generatedMatrixMinSize }, ref input, true); inputMenu.AddAction(new Action <List <object>, int>(io.PrintMatrix), new List <object> { input, maxMatrixHeight }, false); computeMenu.Add("Solve", new MyFunc <List <object>, int>(Gauss.Solve), new List <object> { input, maxMatrixHeight }, ref matrixResutlts, false); computeMenu.AddAction(new MyFunc <List <object>, List <object>, int>(Gauss.GetErrors), new List <object> { input, matrixResutlts, maxMatrixHeight }, false); resultsMenu.Add("Print solutions and nevyazki", new Action <List <object> >(io.PrintSolutionsAndNevyaz), new List <object> { matrixResutlts }, false); resultsMenu.Add("Print triangular", new Action <List <object>, int>(io.PrintTriangular), new List <object> { input, maxMatrixHeight }, false); resultsMenu.Add("Print determenant", new Action <List <object>, int>(io.PrintDetermenant), new List <object> { input, maxMatrixHeight }, false); resultsMenu.Add("Print whole solution", new Action <List <object>, List <object>, int>(io.PrintWholeSolution), new List <object> { input, matrixResutlts, maxMatrixHeight }, false); computeMenu.AddAction(resultsMenu, false); mainMenu.Add("Choose input methods", inputMenu, false); mainMenu.AddAction(computeMenu, false); mainMenu.Start(); }
private static void BindEventHandlersForconnection() { connection.On <PingResponse>("ReceivePingResponse", (ping) => { if (ping.PingId == lastPingId) { pingStopWatch.Stop(); // Get the elapsed time as a TimeSpan value. TimeSpan ts = pingStopWatch.Elapsed; if (ts.TotalMilliseconds < 250) { _serverStatusConsole.Write("Scanner responsiveness: " + Math.Floor(ts.TotalMilliseconds) + " ms", ServerStatusConsole.MessageTypes.Ok); } else { _serverStatusConsole.Write("Scanner responsiveness degraded: " + Math.Floor(ts.TotalMilliseconds) + " ms", ServerStatusConsole.MessageTypes.Danger); } } else { pingStopWatch.Stop(); _serverStatusConsole.Write("Scanner responsiveness probe error.", ServerStatusConsole.MessageTypes.Danger); _messageLogConsole.Write("Scanner responsiveness probe error.", MessageLogConsole.MessageTypes.Warning); } }); connection.On <string>("ReceiveMessage", (message) => { if (_gameStatus == GameStatus.LoggedIn) { _messageLogConsole.Write("Receive Chat: " + message); } }); connection.On <string>("ReceiveServerTime", (serverTime) => { if (_gameStatus == GameStatus.LoggedIn) { // TODO: REMOVE THIS _messageLogConsole.Write("Time received: " + serverTime); } }); connection.On <GetAccessTokenResult>("ReceiveAccessTokenResult", (result) => { if (!result.Success) { _shipMovementStatus = ShipMovementStatus.NotReady; _gameStatus = GameStatus.Startup; CreateErrorWindow(result.Error, _loginWindow.Children.First()); } else { _shipMovementStatus = ShipMovementStatus.NotReady; _gameStatus = GameStatus.LoggedIn; _accessToken = result.Token; RequestCameraCoordinates(); _messageLogConsole = new MessageLogConsole(_mainConsole.Width, _mainConsole.Height / 4); _messageLogConsole.Position = new Point(0, _mainConsole.Height - _messageLogConsole.Height); _messageLogConsole.IsVisible = true; _mainConsole.Children.Add(_messageLogConsole); _serverStatusConsole = new ServerStatusConsole(_mainConsole.Width, 1); _serverStatusConsole.Position = new Point(0, _mainConsole.Height - _messageLogConsole.Height - 1); _serverStatusConsole.IsVisible = true; _mainConsole.Children.Add(_serverStatusConsole); _spaceMap = new SpaceMapConsole(_mainConsole.Width - 20, _mainConsole.Height - _messageLogConsole.Height - 2); _spaceMap.Position = new Point(0, 1); _spaceMap.IsVisible = true; _mainConsole.Children.Add(_spaceMap); _shipConsole = new SelectedShipConsole(20, _mainConsole.Height - _messageLogConsole.Height - 2); _shipConsole.Position = new Point(_spaceMap.Width, 1); _shipConsole.IsVisible = true; _mainConsole.Children.Add(_shipConsole); _menuBarConsole = new MenuBarConsole(_mainConsole.Width, 1); _menuBarConsole.Position = new Point(0, 0); _menuBarConsole.IsVisible = true; _mainConsole.Children.Add(_menuBarConsole); GameState.ShipMenu = new MenuConsole(_mainConsole.Width, _mainConsole.Height - 1); GameState.CharacterMenu = new MenuConsole(_mainConsole.Width, _mainConsole.Height - 1); GameState.AdminMenu = new MenuConsole(_mainConsole.Width / 2, _mainConsole.Height - 1); ShipMenu.Position = new Point(0, 1); CharacterMenu.Position = new Point(0, 1); AdminMenu.Position = new Point(_mainConsole.Width / 2, 1); _loginWindow.IsVisible = false; _loginWindow.Controls.RemoveAll(); _loginWindow.Clear(); StartHeartbeat(TimeSpan.FromSeconds(10), CancelHeartbeat); } }); connection.On <GetAccessTokenResult>("ReceiveAccessTokenFromRefreshToken", (result) => { if (result.Success) { _accessToken = result.Token; } }); connection.On <GetShipsForMenuResult>("ReceiveShipsForMenu", (result) => { if (result.Success) { _displayingShipMenu = true; List <MenuButtonMetadataItem> ships = new List <MenuButtonMetadataItem>(); foreach (var item in result.Ships) { ships.Add(new MenuButtonMetadataItem(item.Id, item.Name, "Ship")); } ShipMenu.SetElements(ships); _mainConsole.Children.Add(ShipMenu); _mainConsole.Children.MoveToTop(ShipMenu); string menuTitle = "Manage your ship(s)"; ShipMenu.ShowMenu(menuTitle); int cellX = 0; while (cellX < menuTitle.Length) { cellX++; ShipMenu.SetEffect(cellX, 0, ShipMenu.menuFade); } } else { CreateErrorWindow(result.Error, _mainConsole); } }); connection.On <ErrorFromServer>("ReceiveError", (result) => { CreateErrorWindow(result, _mainConsole); }); // retrieval of characters for menu. connection.On <GetCharactersForMenuResult>("ReceiveCharactersForMenu", (param) => { ProcessCharactersForMenu(param); }); connection.On <GetCharacterForManagementResult>("ReceiveCharacterForManagement", (param) => { CreateCharacterWindow(param.Character); }); connection.On <GetPlayerCameraCoordinatesResult>("ReceivePlayerCameraCoordinates", (param) => { _messageLogConsole.Write("Camera coordinates received: " + param.X + "," + param.Y + "," + param.Z, MessageLogConsole.MessageTypes.Status); }); connection.On <GetMapDataResult>("ReceiveMapData", (param) => { SetMapData(param); DrawMapData(); }); connection.On <ShipMovementConfirmation>("ReceiveShipMovementConfirmation", (param) => { _shipMovementStatus = ShipMovementStatus.Ready; DownloadMapAtShip(selectedShip); }); connection.On <LootScanResponse>("ReceiveLootScanResponse", (param) => { DisplayLootScanResults(param); }); connection.On <Ship>("ReceiveShipForConsole", (param) => { DisplayShipControlsOnConsole(param); }); connection.Closed += async(error) => { await Task.Delay(new Random().Next(0, 5) * 1000); await connection.StartAsync(); }; }
public MenuPrincipal() { _menuConsole = new MenuConsole(); _menuPoo = new MenuPOO(); }