private BoardState LoadUpdatedBoardState()
        {
            CardLoader.ResetIds();
            var chips    = ChipLoader.LoadChips(Rarity.None);
            var spaces   = SpaceLoader.LoadSpaces();
            var trainers = TrainerLoader.LoadTrainers();
            var items    = CardLoader.LoadItems();
            var events   = CardLoader.LoadEvents();
            var elites   = EliteLoader.LoadElites();

            var boardStateData = LoadBoardState();
            var catchSpaceData = LoadCatchSpaces();
            var chipData       = LoadChips();
            var playerData     = LoadPlayers();
            var spaceData      = LoadSpaces();
            var trainerData    = LoadTrainers();

            UpdateTrainers(trainers, trainerData);
            UpdateChips(chips, chipData);
            UpdateSpaces(spaces, spaceData, catchSpaceData, chips);

            var players = CreatePlayers(playerData, trainers, chips, items, spaces.Item1);

            return(CreateBoardState(boardStateData, chips, items, events, players, spaces, elites));
        }
        private static BoardState LoadNewBoardState()
        {
            var boardState = new BoardState
            {
                PinkChips   = ChipLoader.LoadChips(Rarity.Pink),
                GreenChips  = ChipLoader.LoadChips(Rarity.Green),
                BlueChips   = ChipLoader.LoadChips(Rarity.Blue),
                RedChips    = ChipLoader.LoadChips(Rarity.Red),
                YellowChips = ChipLoader.LoadChips(Rarity.Yellow),
                ItemCards   = CardLoader.LoadItems(),
                EventCards  = CardLoader.LoadEvents()
            };

            var spaceLoad = SpaceLoader.LoadSpaces();

            boardState.Spaces         = spaceLoad.Item1;
            boardState.PalletTown     = spaceLoad.Item2;
            boardState.CinnabarIsland = spaceLoad.Item3;
            boardState.IndigoArrival  = spaceLoad.Item4;

            boardState.EliteTrainers = EliteLoader.LoadElites();

            return(boardState);
        }
 public static Tuple <List <Space>, Space, Space, Space> LoadSpaces()
 {
     return(SpaceLoader.LoadSpaces());
 }