private void filterExcludedDecorations() { if (!(decorationExclusionGroup != null)) { return; } List <StaticGameDataDefinitionKey> keys = GroupDefinitionHelper.GetKeys <DecorationDefinition>(decorationExclusionGroup); int result; foreach (StaticGameDataDefinitionKey item in keys) { if (int.TryParse(item.Id, out result) && decorationDefinitions.ContainsKey(result)) { decorationDefinitions.Remove(result); } } keys = GroupDefinitionHelper.GetKeys <StructureDefinition>(decorationExclusionGroup); foreach (StaticGameDataDefinitionKey item2 in keys) { if (int.TryParse(item2.Id, out result) && structureDefinitions.ContainsKey(result)) { structureDefinitions.Remove(result); } } }
private List <StaticGameDataDefinition> filterStructureListByTheme(GroupDefinition themeDefinition) { List <StaticGameDataDefinition> list = new List <StaticGameDataDefinition>(); foreach (StaticGameDataDefinitionKey key in GroupDefinitionHelper.GetKeys <StructureDefinition>(themeDefinition)) { if (int.TryParse(key.Id, out var result) && structureDefinitions.ContainsKey(result)) { list.Add(structureDefinitions[result]); } } return(list); }
private void Start() { Dictionary <int, DecorationDefinition> dictionary = Service.Get <GameData>().Get <Dictionary <int, DecorationDefinition> >(); decorationDefinitions = new Dictionary <int, DecorationDefinition>(dictionary); Dictionary <int, StructureDefinition> dictionary2 = Service.Get <GameData>().Get <Dictionary <int, StructureDefinition> >(); structureDefinitions = new Dictionary <int, StructureDefinition>(dictionary2); filterExcludedDecorations(); themeFilterButton.Initialize(0, ThemeTitleToken); DecorationCategoryButton decorationCategoryButton = themeFilterButton; decorationCategoryButton.ButtonClicked = (Action <int>)Delegate.Combine(decorationCategoryButton.ButtonClicked, new Action <int>(onThemeFilterButtonClicked)); categoryFilterButton.Initialize(1, CategoryTitleToken); DecorationCategoryButton decorationCategoryButton2 = categoryFilterButton; decorationCategoryButton2.ButtonClicked = (Action <int>)Delegate.Combine(decorationCategoryButton2.ButtonClicked, new Action <int>(onCategoryFilterButtonClicked)); categoryFilterButton.GetComponent <TintToggleGroupButton>().OnClick(); categories = new List <DecorationCategoryDefinition>(Service.Get <IGameData>().Get <Dictionary <int, DecorationCategoryDefinition> >().Values); categories.Sort((DecorationCategoryDefinition x, DecorationCategoryDefinition y) => x.SortOrder.CompareTo(y.SortOrder)); themes = GroupDefinitionHelper.GetGroups <DecorationDefinition>(iglooThemeParentGroup); themes.Sort(); Service.Get <NotificationBreadcrumbController>().ResetBreadcrumbs("DecorationCatalog"); List <ProgressionUtils.ParsedProgression <StructureDefinition> > list = ProgressionUtils.RetrieveProgressionLockedItems <StructureDefinition, StructureRewardDefinition>(ProgressionUnlockCategory.structurePurchaseRights, AbstractStaticGameDataRewardDefinition <StructureDefinition> .ToDefinitionArray); structureProgressionStatus = new Dictionary <int, ProgressionUtils.ParsedProgression <StructureDefinition> >(list.Count); foreach (ProgressionUtils.ParsedProgression <StructureDefinition> item in list) { structureProgressionStatus.Add(item.Definition.Id, item); } List <ProgressionUtils.ParsedProgression <DecorationDefinition> > list2 = ProgressionUtils.RetrieveProgressionLockedItems <DecorationDefinition, DecorationRewardDefinition>(ProgressionUnlockCategory.decorationPurchaseRights, AbstractStaticGameDataRewardDefinition <DecorationDefinition> .ToDefinitionArray); decorationProgressionStatus = new Dictionary <int, ProgressionUtils.ParsedProgression <DecorationDefinition> >(list2.Count); foreach (ProgressionUtils.ParsedProgression <DecorationDefinition> item2 in list2) { decorationProgressionStatus.Add(item2.Definition.Id, item2); } loadSubfilterButtons(); Content.LoadAsync(onItemPrefabLoaded, IglooCatalogItemPrefabKey); }