public static bool TryGetNextIdForType(ItemType3DEnum type3D, out int freeItemId) { var takenIds = new List <int>(); foreach (var id in from entry in ItemType.Items let entryType = entry.Key / 1000 where entryType == (int)type3D select(entry.Key - (int)type3D * 1000) / 10 into id where !takenIds.Contains(id) select id) { takenIds.Add(id); } takenIds.Sort(); freeItemId = (int)type3D * 10000 + 3; if (takenIds.Count == 0) { freeItemId += 10; } else if (takenIds.Count > 0) { freeItemId += takenIds.Last() * 10; } else { freeItemId = 0; return(false); } return(true); }
public ItemImportWindow(ItemType3DEnum selectedItemType) { InitializeComponent(); Title = "Import existing Item. Type selected: " + selectedItemType; _selectedItemType = (uint)selectedItemType; }