private void AskAndUseRevive(ItemDataWrapper item) { PokemonInventory = new ObservableCollection <PokemonDataWrapper>(GameClient.PokemonsInventory .Select(pokemonData => new PokemonDataWrapper(pokemonData)) .Where(pokemonData => pokemonData.Stamina == 0)); CurrentUseItem = item; RaisePropertyChanged(() => PokemonInventory); RaisePropertyChanged(() => CurrentUseItem); AskForPokemonSelection?.Invoke(this, null); }
private void AskAndUseRevive(ItemDataWrapper item) { PokemonInventory = new ObservableCollection <PokemonDataWrapper>(GameClient.PokemonsInventory .Select(pokemonData => new PokemonDataWrapper(pokemonData)) //.Where(pokemonData => pokemonData.Stamina == 0)); .Where(pokemonData => pokemonData.Stamina == 0 && // Fainted String.IsNullOrEmpty(pokemonData.DeployedFortId))); // Not deployed to fort CurrentUseItem = item; RaisePropertyChanged(() => PokemonInventory); RaisePropertyChanged(() => CurrentUseItem); AskForPokemonSelection?.Invoke(this, null); }
private void AskAndUseLuckyEgg(ItemDataWrapper item) { if (!GameClient.IsXpBoostActive) { var dialog = new PoGoMessageDialog("", string.Format(Resources.CodeResources.GetString("ItemUseQuestionText"), Resources.Items.GetString(item.ItemId.ToString()))); dialog.AcceptText = Resources.CodeResources.GetString("YesText"); dialog.CancelText = Resources.CodeResources.GetString("CancelText"); dialog.CoverBackground = true; dialog.AnimationType = PoGoMessageDialogAnimation.Bottom; dialog.AcceptInvoked += async(sender, e) => { // Send use request var res = await GameClient.UseXpBoost(item.ItemId); switch (res.Result) { case UseItemXpBoostResponse.Types.Result.Success: AppliedItem appliedItem = res.AppliedItems.Item.FirstOrDefault <AppliedItem>(); GameClient.AppliedItems.Add(new AppliedItemWrapper(appliedItem)); ReturnToGameScreen.Execute(); break; case UseItemXpBoostResponse.Types.Result.ErrorXpBoostAlreadyActive: ReturnToGameScreen.Execute(); break; case UseItemXpBoostResponse.Types.Result.ErrorInvalidItemType: case UseItemXpBoostResponse.Types.Result.ErrorLocationUnset: case UseItemXpBoostResponse.Types.Result.ErrorNoItemsRemaining: case UseItemXpBoostResponse.Types.Result.Unset: break; default: throw new ArgumentOutOfRangeException(); } }; dialog.Show(); } }
private void AskAndUseIncense(ItemDataWrapper item) { if (!GameClient.IsIncenseActive) { var dialog = new PoGoMessageDialog("", string.Format(Resources.CodeResources.GetString("ItemUseQuestionText"), Resources.Items.GetString(item.ItemId.ToString()))); dialog.AcceptText = Resources.CodeResources.GetString("YesText"); dialog.CancelText = Resources.CodeResources.GetString("CancelText"); dialog.CoverBackground = true; dialog.AnimationType = PoGoMessageDialogAnimation.Bottom; dialog.AcceptInvoked += async(sender, e) => { //// Send use request var res = await GameClient.UseIncense(item.ItemId); switch (res.Result) { case UseIncenseResponse.Types.Result.Success: GameClient.AppliedItems.Add(new AppliedItemWrapper(res.AppliedIncense)); ReturnToGameScreen.Execute(); break; case UseIncenseResponse.Types.Result.IncenseAlreadyActive: ReturnToGameScreen.Execute(); break; case UseIncenseResponse.Types.Result.LocationUnset: case UseIncenseResponse.Types.Result.NoneInInventory: case UseIncenseResponse.Types.Result.Unknown: break; default: throw new ArgumentOutOfRangeException(); } }; dialog.Show(); } }