예제 #1
0
        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);
        }
예제 #2
0
        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);
        }