private void HandleOthers(SnipePokemonViewModel model) { OtherList.RemoveAll(x => ShouldRemove(x, model)); OtherList.Insert(0, model); RaisePropertyChanged("TotalOtherList"); Refresh("OtherList", OtherList); }
private void HandlePokedex(SnipePokemonViewModel model) { PokedexSnipeItems.RemoveAll(x => ShouldRemove(x, model)); if (pokedex != null && !pokedex.Any(p => p.PokemonId == model.PokemonId)) { PokedexSnipeItems.Insert(0, model); } Refresh("PokedexSnipeItems", PokedexSnipeItems); }
internal void OnSnipeData(EncounteredEvent e) { var session = TinyIoCContainer.Current.Resolve <ISession>(); if (!e.IsRecievedFromSocket) { return; } lock (pending) { pending.Add(e); if (lastUpdateTime > DateTime.Now.AddSeconds(-session.LogicSettings.UIConfig.SnipeListRefreshInterval)) { return; } foreach (var item in pending) { var model = new SnipePokemonViewModel(item); var grade = PokemonGradeHelper.GetPokemonGrade(model.PokemonId); PokemonData best = null; if (bestPokemons != null) { best = bestPokemons.FirstOrDefault(x => x.PokemonId == model.PokemonId); } if (best == null || PokemonInfo.CalculatePokemonPerfection(best) < model.IV) { model.Recommend = true; } if (model.IV >= 100) { Handle100IV(model); } else if (grade == PokemonGrades.Legendary || grade == PokemonGrades.VeryRare || grade == PokemonGrades.Epic || grade == PokemonGrades.Rare) { HandleRarePokemon(model); } else { HandleOthers(model); } HandlePokedex(model); } pending.RemoveAll(x => true); lastUpdateTime = DateTime.Now; } }
internal void OnSnipeItemQueue(EncounteredEvent encounteredEvent) { if (!encounteredEvent.IsRecievedFromSocket) { return; } var model = new SnipePokemonViewModel(encounteredEvent) { AllowSnipe = false }; HandleSnippingList(model); }
private void HandleSnippingList(SnipePokemonViewModel model) { SnipeQueueItems.Insert(0, model); Refresh("SnipeQueueItems", SnipeQueueItems); }
private void Handle100IV(SnipePokemonViewModel e) { IV100List.RemoveAll(x => ShouldRemove(x, e)); IV100List.Insert(0, e); Refresh("IV100List", IV100List); }
private void HandleRarePokemon(SnipePokemonViewModel model) { RareList.RemoveAll(x => ShouldRemove(x, model)); RareList.Insert(0, model); Refresh("RareList", RareList); }