Ejemplo n.º 1
0
        private static async Task PrintPokemonInfo(ISession session, System.Collections.Generic.IEnumerable <POGOProtos.Settings.Master.PokemonSettings> pokemonSettings, System.Collections.Generic.List <POGOProtos.Inventory.Candy> pokemonFamilies, POGOProtos.Data.PokemonData duplicatePokemon)
        {
            var bestPokemonOfType = (session.LogicSettings.PrioritizeIvOverCp
                ? await session.Inventory.GetHighestPokemonOfTypeByIv(duplicatePokemon)
                : await session.Inventory.GetHighestPokemonOfTypeByCp(duplicatePokemon)) ?? duplicatePokemon;

            var setting = pokemonSettings.SingleOrDefault(q => q.PokemonId == duplicatePokemon.PokemonId);
            var family  = pokemonFamilies.FirstOrDefault(q => q.FamilyId == setting.FamilyId);

            family.Candy_++;

            session.EventDispatcher.Send(new TransferPokemonEvent
            {
                Id             = duplicatePokemon.PokemonId,
                Perfection     = PokemonInfo.CalculatePokemonPerfection(duplicatePokemon),
                Cp             = duplicatePokemon.Cp,
                BestCp         = bestPokemonOfType.Cp,
                BestPerfection = PokemonInfo.CalculatePokemonPerfection(bestPokemonOfType),
                FamilyCandies  = family.Candy_
            });
        }
Ejemplo n.º 2
0
        public Guid RetrieveNextComicPageId(Guid pageId)
        {
            System.Collections.Generic.IEnumerable <Entities.Comic.ComicPage> comicIssue =
                _comicIssuePageRetriever.RetrieveComicPagesForIssue(1);

            Entities.Comic.ComicPage currentComicPage = comicIssue.SingleOrDefault(page => page.PageId == pageId);

            if (currentComicPage is null)
            {
                throw new ArgumentException($"Unable to find current comic page for {nameof(pageId)}: {pageId}");
            }

            try
            {
                return(comicIssue.TryOffsetBy(page =>
                                              page.PageNumber, currentComicPage.PageNumber, idOffset: 1, out Entities.Comic.ComicPage nextComicPage)
                    ? nextComicPage.PageId
                    : currentComicPage.PageId);
            }
            catch (InvalidOperationException)
            {
                throw new ArgumentException($"Unable to retrieve next comic page for page with PageId {pageId}");
            }
        }