public virtual void EjectAllOfType(Type type) { ItemMap.Remove(type); _workTracker.EjectAllOfType(type); ChangeTrackers.RemoveAll(x => x.Document.GetType().CanBeCastTo(type)); }
public bool RemoveFromAppropriateMap(IDelible mote) { // remove from whichever map if (mote is IAreaRot rot) { RotMap.Remove(rot); return(true); } if (mote is IBeing being) { return(BeingMap.Remove(being)); } //1.+: Make IItems IDestroyable if (mote is IItem item) { return(ItemMap.Remove(item)); } throw new Exception($"Unsure how to destroy a {mote.GetType().Name}."); }
// Suppress the deprecation warning for _SetId, since the DB is intended to use it #pragma warning disable 612, 618 public void UpdateDatabase() { if (!defaultItem) { Debug.LogError("Cannot update the database. A default item MUST be assigned."); return; } // Add the default item registeredItems.Remove(0); defaultItem._SetId(this, 0); registeredItems.Add(0, defaultItem); // Add new items var existingValues = registeredItems.Values; foreach (ItemBase newItem in addItems) { // No double registering if (existingValues.Contains(newItem)) { continue; } newItem._SetId(this, idCounter); registeredItems.Add(idCounter, newItem); idCounter++; } addItems.Clear(); //Remap missing items that have been filled out // // Remove missing items/ids List <uint> missingValues = new List <uint>(10); foreach (var pair in registeredItems) { if (!pair.Value) { missingValues.Add(pair.Key); } } foreach (uint key in missingValues) { registeredItems.Remove(key); } // Add the missing items' ids for remapping foreach (uint id in missingValues) { string name = "Unknown"; nameMap.TryGetValue(id, out name); missingIds.Add(id); missingNameMap.Add(id, name); } // Regenerate name map nameMap.Clear(); foreach (var pair in registeredItems) { nameMap.Add(pair.Key, pair.Value.GetName()); } }
private void ClearContainer(ViewItem container) { ItemMap.Remove(container.Content); container.Content = null; }
public void UnEquip(InventoryItem inventoryItem) { items.Remove(inventoryItem); OnUnEquip?.Invoke(inventoryItem); }