public void OnEnable() { _sc_settings = (SuperCombinerSettings)target; _serializedSettings = new SerializedObject(_sc_settings); _customShaderProperties = _serializedSettings.FindProperty("_material_settings._customShaderProperties"); for (int i = 0; i < SuperCombinerEditor.MAX_MULTI_MATERIAL_COUNT; i++) { _multiMaterialsSC.Add(_serializedSettings.FindProperty("_material_settings.multiMaterials" + i)); } }
/// <summary> /// Saves the combined settings. /// </summary> public static void SaveCombinedSettings(SuperCombinerSettings combinedSettings, string folderDestination, string sessionName) { SuperCombinerSettings savedCombinedSettings = AssetDatabase.LoadAssetAtPath <SuperCombinerSettings>(folderDestination + "/CombinedSettings_" + sessionName + ".asset"); if (savedCombinedSettings != null) { AssetDatabase.DeleteAsset(folderDestination + "/CombinedSettings_" + sessionName + ".asset"); } string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(folderDestination + "/CombinedSettings_" + sessionName + ".asset"); SuperCombinerSettings toSaveCombinedSettings = GameObject.Instantiate(combinedSettings) as SuperCombinerSettings; toSaveCombinedSettings.generalSettings = combinedSettings.generalSettings; toSaveCombinedSettings.textureSettings = combinedSettings.textureSettings; toSaveCombinedSettings.meshSettings = combinedSettings.meshSettings; toSaveCombinedSettings.materialSettings = combinedSettings.materialSettings; AssetDatabase.CreateAsset(toSaveCombinedSettings, assetPathAndName); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }