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;
 }