//=============================== 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]);
        }