public void AddNewEntry(Textures textures, GMTextureItem entry) { if (Items.Contains(entry)) return; Dirty = true; Items.Add(entry); if (entry.TexturePageID == -1 && !entry._EmptyBorder && AllowCrop) entry.Crop(); long key = textures.GetHashKeyForEntry(entry); if (HashedItems.TryGetValue(key, out List<GMTextureItem> list)) list.Add(entry); else HashedItems[key] = new List<GMTextureItem>() { entry }; }
public void RemoveEntry(Textures textures, GMTextureItem entry) { Items.Remove(entry); if (HashedItems.TryGetValue(textures.GetHashKeyForEntry(entry), out List<GMTextureItem> list)) list.Remove(entry); }