/// <summary> /// Takes a list of ships that have been encapsulated into a GetShipsForMenuResult object and /// pops open a menu from which they can be chosen to interact with. /// </summary> /// <param name="shipresult">The result of a call to the server for data.</param> private static void ProcessShipsForMenu(GetShipsForMenuResult shipresult) { if (shipresult.Success) { _displayingShipMenu = true; List <MenuButtonMetadataItem> ships = new List <MenuButtonMetadataItem>(); foreach (var item in shipresult.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(shipresult.Error, _mainConsole); } }
public async Task GetShipsForMenu(AuthorizationTokenContainer ctr) { GetPlayerByAccessTokenResponse playerByAccessTokenResponse = _authService.GetPlayerByAccessToken(ctr.Token); if (playerByAccessTokenResponse.Success == true) { GetShipsByPlayerIdResponse getShipsByPlayerIdResponse = _gameService.GetShipsByPlayerId(playerByAccessTokenResponse.Player.Id); if (getShipsByPlayerIdResponse.Success) { var result = new GetShipsForMenuResult(getShipsByPlayerIdResponse.Ships); await Clients.Caller.ReceiveShipsForMenu(result); } } }