public void UpdateItem(string package) { string newPackage = package.Substring(2); if (!string.IsNullOrEmpty(newPackage)) { string[] separator = newPackage.Split('|'); if (Items.TryGetValue(int.Parse(separator[0]), out Item item)) { int quantity = int.Parse(separator[1]); item.Quantity = quantity; Items[item.GuidItem].Quantity = quantity; InventoryRefresh?.Invoke(); } } }
public void RemoveItem(string package, int quantity, bool isDeletePackage) { int.TryParse(package.Substring(2), out int GuidItem); if (Items.TryGetValue(GuidItem, out Item deleteItem)) { if (deleteItem.Quantity > quantity) { deleteItem.Quantity -= quantity; Items[GuidItem] = deleteItem; } else { Items.TryRemove(GuidItem, out deleteItem); } if (isDeletePackage) { Account.Send($"Od{deleteItem.GuidItem}|{deleteItem.Quantity}"); } InventoryRefresh?.Invoke(); } }
public void getInventory(string package) { Task.Run(() => { try { foreach (string data in package.Split(';')) { if (!string.IsNullOrEmpty(data)) { string[] values = data.Split('~'); Item @object = new Item(data); Items.TryAdd(@object.GuidItem, @object); } } } catch (Exception) { } }).Wait(); InventoryRefresh?.Invoke(); }
/// <summary> /// Load Inventory methodes. /// </summary> public void UpdateInventory(InventoryRefresh type) { if (!_client.LoggedIn) { return; } LogCaller(new LoggerEventArgs($"Updating inventory. Items to load: {type}", LoggerTypes.Debug)); try { foreach (var item in _client.ClientSession.Player.Inventory.InventoryItems) { AddRemoveOrUpdateItem(item); } switch (type) { case InventoryRefresh.All: Items.Clear(); Pokemon.Clear(); Pokedex.Clear(); PokemonCandy.Clear(); Incubators.Clear(); Eggs.Clear(); Stats = GetPlayerStats(); Items = GetItemsData().ToList(); Pokedex = GetPokedex().ToList(); PokemonCandy = GetCandies().ToList(); Incubators = GetIncubators().ToList(); Eggs = GetEggs().ToList(); Pokemon = GetPokemons().ToList(); break; case InventoryRefresh.Items: Items.Clear(); Items = GetItemsData().ToList(); break; case InventoryRefresh.Pokemon: Pokemon.Clear(); Pokemon = GetPokemons().ToList(); break; case InventoryRefresh.Pokedex: Pokedex.Clear(); Pokedex = GetPokedex().ToList(); break; case InventoryRefresh.PokemonCandy: PokemonCandy.Clear(); PokemonCandy = GetCandies().ToList(); break; case InventoryRefresh.Incubators: Incubators.Clear(); Incubators = GetIncubators().ToList(); break; case InventoryRefresh.Eggs: Eggs.Clear(); Eggs = GetEggs().ToList(); break; case InventoryRefresh.Stats: Stats = GetPlayerStats(); break; } } catch (Exception ex1) { LogCaller(new LoggerEventArgs(String.Format("Failed updating inventory."), LoggerTypes.Exception, ex1)); ++_failedInventoryReponses; } }