Exemplo n.º 1
0
        //=============================== 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]);
        }
Exemplo n.º 2
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);
        }