//=============================== FUNCTIONALITY ==============================// private void UpdateSelectorComboBox() { ResourceHolder.Get.ChangeResourceType(ResourceType.Foliage); List <TileCategory> rootCategories = ResourceHolder.Get.GetSelectedCategories(); LoadedTileCategories = rootCategories .Select(c => new TileCategory(c.Name, new List <TileObject>(c.TileObjects))) .ToList(); List <TileObject> tileObjects = AvailableObjects.Select(o => o.TileObject).ToList(); foreach (TileCategory tileCategory in LoadedTileCategories) { var objectsToRemove = tileCategory.TileObjects.Where(t => !tileObjects.Contains(t)).ToList(); foreach (TileObject tileObject in objectsToRemove) { tileCategory.TileObjects.Remove(tileObject); } } LoadedTileCategories.RemoveAll(c => c.TileObjects.Count == 0); Selection.AssignSelection(LoadedTileCategories[0].TileObjects[0]); IEnumerable <string> names = ResourceHolder.GetCategoryNames(LoadedTileCategories); CategorySelector.ItemsSource = names; CategorySelector.SelectedIndex = 0; _selectorGridCreator.UpdateTileGroup(LoadedTileCategories); _selectorGridCreator.CreateSelectionPanel(LoadedTileCategories[0]); }
private void ChangeDropdownSelection(object sender, SelectionChangedEventArgs e) { TileCategory category = !(CategorySelector.SelectedItem is string item) ? LoadedTileCategories[0] : LoadedTileCategories.First(c => c.Name == item.ToLowerInvariant().Replace(' ', '_')); _selectorGridCreator.CreateSelectionPanel(category); }