static void SaveProfile() { ModBuilderProfile currentProfile = profiles[profileIndex]; ModBuilderProfile mbp = new ModBuilderProfile(); mbp.groups = new Dictionary <string, bool>(); foreach (AddressableAssetGroup group in AddressableAssetSettingsDefaultObject.Settings.groups) { BundledAssetGroupSchema bundledAssetGroupSchema = group.GetSchema <BundledAssetGroupSchema>(); if (bundledAssetGroupSchema != null) { mbp.groups.Add(group.Name, group.GetSchema <BundledAssetGroupSchema>().IncludeInBuild); } } mbp.profileName = currentProfile.profileName; mbp.exportFolder = exportFolderName; profiles[profileIndex] = mbp; string json = JsonConvert.SerializeObject(profiles, Formatting.Indented); using (StreamWriter sw = new StreamWriter(Application.dataPath + "/SDK/modprofiles.json")) { sw.Write(json); sw.Close(); } }
static void OnProfileIndexChange() { ModBuilderProfile currentProfile = profiles[profileIndex]; foreach (AddressableAssetGroup group in AddressableAssetSettingsDefaultObject.Settings.groups) { BundledAssetGroupSchema bundledAssetGroupSchema = group.GetSchema <BundledAssetGroupSchema>(); if (bundledAssetGroupSchema != null) { if (currentProfile.groups != null) { if (currentProfile.groups.ContainsKey(group.Name)) { group.GetSchema <BundledAssetGroupSchema>().IncludeInBuild = currentProfile.groups[group.Name]; } else { Debug.LogWarning("Group " + group.Name + " not found in profile " + currentProfile.profileName + "."); } } else { CheckAll(false); } } } exportFolderName = currentProfile.exportFolder; }