private void AddOrUpdateResource(ResourceItemData item) { ResourceItemData existing; switch (SelectedTab) { case Tab.BGM: existing = BGMResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { BGMResources.Remove(existing); } BGMResources.Add(item); break; case Tab.SFX: existing = SFXResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { SFXResources.Remove(existing); } SFXResources.Add(item); break; case Tab.Creatures: existing = CreatureResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { CreatureResources.Remove(existing); } CreatureResources.Add(item); break; case Tab.Icons: existing = IconResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { IconResources.Remove(existing); } IconResources.Add(item); break; case Tab.Items: existing = ItemResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { ItemResources.Remove(existing); } ItemResources.Add(item); break; case Tab.Portraits: existing = PortraitResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { PortraitResources.Remove(existing); } PortraitResources.Add(item); break; case Tab.Tilesets: existing = TilesetResources.SingleOrDefault(x => x.FileName == item.FileName); if (existing != null) { TilesetResources.Remove(existing); } TilesetResources.Add(item); break; } }