public FilteredGameDataSource(SaveFile sav, GameDataSource source, bool HaX = false)
    {
        Source  = source;
        Species = GetFilteredSpecies(sav, source, HaX).ToList();
        Moves   = GetFilteredMoves(sav, source, HaX).ToList();
        if (sav.Generation > 1)
        {
            var items = Source.GetItemDataSource(sav.Version, sav.Generation, sav.HeldItems, HaX);
            items.RemoveAll(i => i.Value > sav.MaxItemID);
            Items = items;
        }
        else
        {
            Items = Array.Empty <ComboItem>();
        }

        var gamelist = GameUtil.GetVersionsWithinRange(sav, sav.Generation).ToList();

        Games = Source.VersionDataSource.Where(g => gamelist.Contains((GameVersion)g.Value)).ToList();

        Languages = GameDataSource.LanguageDataSource(sav.Generation);
        Balls     = Source.BallDataSource.Where(b => b.Value <= sav.MaxBallID).ToList();
        Abilities = Source.AbilityDataSource.Where(a => a.Value <= sav.MaxAbilityID).ToList();

        G4GroundTiles = Source.GroundTileDataSource;
        Natures       = Source.NatureDataSource;
    }
Exemplo n.º 2
0
        private static void Main(string[] args)
        {
            _games        = new ConcurrentDictionary <Guid, GameInfo>();
            _historyGames = new List <GameInfo>();
            var gameUpdate = new Progress <GameInfo>();

            gameUpdate.ProgressChanged += (senderOfProgressChanged, item) =>
            {
                if (!item.IsFinished)
                {
                    if (_games.TryAdd(item.GameId, item))
                    {
                        return;
                    }
                    _games[item.GameId] = item;
                }

                _games.TryRemove(item.GameId, out _);
                _historyGames.Add(item);

                OutputGames();
            };

            var gameSource = new GameDataSource();

            Parallel.Invoke(new ParallelOptions(), () => gameSource.RunGameProcess(gameUpdate));

            Console.ReadKey();
        }
        public override void ViewDidLoad()
        {
            var games      = dataService.GetAllGames();
            var dataSource = new GameDataSource(games, this);

            TableView.Source = dataSource;

            this.NavigationItem.Title = "மென் யாப்பு செயலியின் சேவைகள்";
        }
Exemplo n.º 4
0
        public void Initialize()
        {
            _scoreManager   = GetComponent <ScoreManager>();
            _cardManager    = GetComponent <CardManager>();
            _layoutManager  = GetComponent <LayoutManager>();
            _gameDataSource = GetComponent <GameDataSource>();

            _scoreManager.Initialize(_gameDataSource.CardPairsCount);
            _cardManager.Initialize(_scoreManager);
            _layoutManager.Initialize();

            StartGame(_gameDataSource.CardPairsCount);
        }
    private static IEnumerable <ComboItem> GetFilteredSpecies(IGameValueLimit sav, GameDataSource source, bool HaX = false)
    {
        if (HaX)
        {
            return(source.SpeciesDataSource.Where(s => s.Value <= sav.MaxSpeciesID));
        }

        // Some games cannot acquire every Species that exists. Some can only acquire a subset.
        return(sav switch
        {
            SAV7b => source.SpeciesDataSource // LGPE: Kanto 151, Meltan/Melmetal
            .Where(s => s.Value is <= (int)Core.Species.Mew or(int) Core.Species.Meltan or(int) Core.Species.Melmetal),
            SAV8LA => source.SpeciesDataSource
            .Where(s => PersonalTable.LA.IsSpeciesInGame(s.Value)),
            _ => source.SpeciesDataSource.Where(s => s.Value <= sav.MaxSpeciesID),
        });
Exemplo n.º 6
0
        public void ExampleData()
        {
            var dt = new GameDataSource();

            dt.ReadFile("播放文件示例.json");
        }