/// <summary>Creates the display elements for the given ModTagCategory.</summary> private GameObject CreateCategoryDisplayInstance(ModTagCategory category, GameObject prefab, RectTransform container) { GameObject displayGO = GameObject.Instantiate(prefab, container); displayGO.name = category.name; ModTagCategoryDisplay display = displayGO.GetComponent<ModTagCategoryDisplay>(); display.Initialize(); display.DisplayCategory(category); ToggleGroup toggleGroup = null; if(!category.isMultiTagCategory) { toggleGroup = display.gameObject.AddComponent<ToggleGroup>(); toggleGroup.allowSwitchOff = true; } ModTagContainer tagContainer = displayGO.GetComponent<ModTagContainer>(); foreach(ModTagDisplay tagDisplay in tagContainer.tagDisplays) { Toggle tagToggle = tagDisplay.GetComponent<Toggle>(); tagToggle.isOn = this.m_selectedTags.Contains(tagDisplay.data.tagName); tagToggle.group = toggleGroup; } return displayGO; }
// ---------[ UI FUNCTIONALITY ]--------- private static GameObject CreateCategoryDisplayInstance(ModTagCategory category, List <string> selectedTags, GameObject prefab, RectTransform container) { GameObject displayGO = GameObject.Instantiate(prefab, new Vector3(), Quaternion.identity, container); displayGO.name = category.name; ModTagCategoryDisplay display = displayGO.GetComponent <ModTagCategoryDisplay>(); display.Initialize(); display.DisplayCategory(category); ToggleGroup toggleGroup = null; if (!category.isMultiTagCategory) { toggleGroup = display.gameObject.AddComponent <ToggleGroup>(); toggleGroup.allowSwitchOff = true; } ModTagContainer tagContainer = displayGO.GetComponent <ModTagContainer>(); foreach (ModTagDisplay tagDisplay in tagContainer.tagDisplays) { Toggle tagToggle = tagDisplay.GetComponent <Toggle>(); tagToggle.isOn = selectedTags.Contains(tagDisplay.data.tagName); tagToggle.group = toggleGroup; // TODO(@jackson): Need to register? } return(displayGO); }