private int GetConsumableKey(ConsumablesInfo info) { foreach (KeyValuePair <int, ConsumablesInfo> keyValuePair in this.Consumables) { if (keyValuePair.Value.ItemClass == info.ItemClass) { return(keyValuePair.Key); } } return(-1); }
public void SetConsumable(int part, ConsumablesInfo info, bool ignoreUsedList) { int consumableKey = this.GetConsumableKey(info); if (consumableKey != -1) { this.RemoveConsumable(consumableKey); } this.RemoveConsumable(part); if (this.usedlist.ContainsKey(info.ItemClass) && !ignoreUsedList) { this.Consumables[part] = this.usedlist[info.ItemClass]; return; } this.Consumables[part] = info; }
public bool UseConsumable(int part, int slot, out ConsumablesInfo consumable) { if (!this.Consumables.TryGetValue(part, out consumable)) { return(false); } if (consumable.InnerConsumables.Count == 0) { return(slot == 0 && consumable.Used(1)); } slot--; if (slot < 0 || slot >= consumable.InnerConsumables.Count) { return(false); } consumable = consumable.InnerConsumables[slot]; return(consumable != null && consumable.Used(1)); }
public void SetConsumable(int part, ConsumablesInfo info) { this.SetConsumable(part, info, false); }