private IEnumerator WaitForUixPrefabsAndRegister() { while (ExpansionKitApi.GetUiExpansionKitBundleContents() == null) { yield return(null); } ourIsExpanded = !ExpansionKitSettings.IsCategoriesStartCollapsed(); var prefabs = CustomParticleSettingsUiHandler.UixBundle = ExpansionKitApi.GetUiExpansionKitBundleContents(); var rootPrefab = Object.Instantiate(prefabs.SettingsCategory, prefabs.StoredThingsParent.transform, false); rootPrefab.GetComponentInChildren <TMP_Text>().text = MelonPreferences.GetCategory(SettingsCategory).DisplayName; rootPrefab.SetActive(true); rootPrefab.AddComponent <CustomParticleSettingsUiHandler>(); ExpansionKitApi.RegisterCustomSettingsCategory(SettingsCategory, rootPrefab); }
private IEnumerator WaitForUixPrefabsAndRegister() { var field = typeof(UiExpansionKitMod).GetFields(BindingFlags.Instance | BindingFlags.NonPublic) .Single(it => it.FieldType == typeof(PreloadedBundleContents)); var mod = MelonHandler.Mods.Single(it => it is UiExpansionKitMod); while (field.GetValue(mod) == null) { yield return(null); } ourIsExpanded = !ExpansionKitSettings.IsCategoriesStartCollapsed(); var prefabs = CustomParticleSettingsUiHandler.UixBundle = (PreloadedBundleContents)field.GetValue(mod); var rootPrefab = Object.Instantiate(prefabs.SettingsCategory, prefabs.StoredThingsParent.transform, false); rootPrefab.GetComponentInChildren <Text>().text = MelonPrefs.GetCategoryDisplayName(SettingsCategory); rootPrefab.SetActive(true); rootPrefab.AddComponent <CustomParticleSettingsUiHandler>(); ExpansionKitApi.RegisterCustomSettingsCategory(SettingsCategory, rootPrefab); }