public static SinglePlayersViewOfTheGameboardViewModel FromGameContext(GameContext game, Player loggedInPlayer, bool fogOfWar = true) { var vm = new SinglePlayersViewOfTheGameboardViewModel { Players = game.Players, CurrentPlayer = game.CurrentPlayer, Round = game.Turn, Id = (Guid)game.Id, Name = game.Name, UncomittedActions = new List<GameActionBase>() }; foreach (var system in game.Systems) { var planetExplorationHistory = game.ExplorationMap[system]; var systemToAdd = fogOfWar ? (planetExplorationHistory.PlayerCanSeeSystem(loggedInPlayer) ? system : PlanetarySystem.UndiscoveredSystem(system.SystemNumber)) : system; vm.Systems.Add(systemToAdd); } if (game.CurrentPlayer == loggedInPlayer) { foreach (var action in game.UncommittedActions) { vm.UncomittedActions.Add(action); } } return vm; }
public GameBoardAndSupportingUiDataViewModel(SinglePlayersViewOfTheGameboardViewModel gameboard) { Gameboard = gameboard; }