public IActionResult Index(Guid?id) { var vm = new GameStateSpecificationViewModel { Id = id, AllShips = CreateShipOptions().ToList(), SelectedShips = new List <ShipSelection>() }; GameState existingGameState; if (id != null) { existingGameState = _gsRepo.GetById(id.Value).Result; foreach (var p in existingGameState.Pawns) { vm.SelectedShips.Add(new ShipSelection(p)); } vm.GameName = existingGameState.Name; } RemoveEmptyEntriesAndEnsureLastOptionEmpty(vm); return(View(vm)); }
public IActionResult Index(Guid id) { var gs = gsRepo.GetById(id).Result; var strategicView = new StrategicViewModel(); strategicView.GameState = gs; foreach (var f in gs.Fleets) { var fleetVm = new FleetViewModel(); fleetVm.Id = f.Id.Value; fleetVm.Name = f.Name; fleetVm.Assigned = gs.Pawns.Where(x => f.Id == x.FleetId).ToList(); strategicView.AllFleets.Add(fleetVm); } foreach (var p in gs.Pawns) { var parentFleet = gs.Fleets.FirstOrDefault(x => x.Id == p.FleetId); if (parentFleet == null) { strategicView.Unassigned.Add(p); } } return(View(strategicView)); }
//[HttpGet] //public IActionResult Index() //{ // GameViewModel vm; // vm = new GameViewModel(); // vm.IsGameResuming = true; // return View(vm); //} public IActionResult Battle(Guid id, [FromQuery] Guid[] fleets) { var gs = _gsRepo.GetById(id).Result; var participatingFleets = gs.Fleets .Where(x => fleets.Contains(x.Id.Value)); var vm = new BattleViewModel { ParticipatingFleets = participatingFleets, GameState = gs, IsGameResuming = false }; return(View("Index", vm)); }