internal static HDRenderPipelineGlobalSettings Create(string path, HDRenderPipelineGlobalSettings dataSource = null) { HDRenderPipelineGlobalSettings assetCreated = null; //ensure folder tree exist CoreUtils.EnsureFolderTreeInAssetFilePath(path); //prevent any path conflict path = AssetDatabase.GenerateUniqueAssetPath(path); //asset creation assetCreated = ScriptableObject.CreateInstance <HDRenderPipelineGlobalSettings>(); assetCreated.name = Path.GetFileName(path); AssetDatabase.CreateAsset(assetCreated, path); Debug.Assert(assetCreated); // copy data from provided source if (dataSource != null) { EditorUtility.CopySerialized(dataSource, assetCreated); } // ensure resources are here assetCreated.EnsureEditorResources(forceReload: true); assetCreated.EnsureRuntimeResources(forceReload: true); assetCreated.EnsureRayTracingResources(forceReload: true); assetCreated.GetOrCreateDefaultVolumeProfile(); assetCreated.GetOrAssignLookDevVolumeProfile(); return(assetCreated); }
public static void Clone(HDRenderPipelineGlobalSettings src, bool assignToActiveAsset) { settings = src; updateGraphicsSettings = assignToActiveAsset; var assetCreator = ScriptableObject.CreateInstance <HDRenderPipelineGlobalSettingsCreator>(); string path = $"Assets/{HDProjectSettings.projectSettingsFolderPath}/{src.name}.asset"; CoreUtils.EnsureFolderTreeInAssetFilePath(path); ProjectWindowUtil.StartNameEditingIfProjectWindowExists(assetCreator.GetInstanceID(), assetCreator, path, CoreEditorStyles.globalSettingsIcon, null); }
public static void Create(bool useProjectSettingsFolder, bool assignToActiveAsset) { settings = null; updateGraphicsSettings = assignToActiveAsset; var path = "HDRenderPipelineGlobalSettings.asset"; if (useProjectSettingsFolder) { path = $"Assets/{HDProjectSettings.projectSettingsFolderPath}/HDRenderPipelineGlobalSettings.asset"; CoreUtils.EnsureFolderTreeInAssetFilePath(path); } ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance <HDRenderPipelineGlobalSettingsCreator>(), path, CoreEditorStyles.globalSettingsIcon, null); }