Singularity/Library/PackageCache/com.unity.render-pipelines..../Runtime/Data/UniversalRenderPipelineEdit...
2024-05-06 11:45:45 -07:00

75 lines
2.5 KiB
C#

using System;
namespace UnityEngine.Rendering.Universal
{
public class UniversalRenderPipelineEditorResources : ScriptableObject
{
[Serializable, ReloadGroup]
public sealed class ShaderResources
{
[Reload("Shaders/Autodesk Interactive/Autodesk Interactive.shadergraph")]
public Shader autodeskInteractivePS;
[Reload("Shaders/Autodesk Interactive/Autodesk Interactive Transparent.shadergraph")]
public Shader autodeskInteractiveTransparentPS;
[Reload("Shaders/Autodesk Interactive/Autodesk Interactive Masked.shadergraph")]
public Shader autodeskInteractiveMaskedPS;
[Reload("Shaders/Terrain/TerrainDetailLit.shader")]
public Shader terrainDetailLitPS;
[Reload("Shaders/Terrain/WavingGrass.shader")]
public Shader terrainDetailGrassPS;
[Reload("Shaders/Terrain/WavingGrassBillboard.shader")]
public Shader terrainDetailGrassBillboardPS;
[Reload("Shaders/Nature/SpeedTree7.shader")]
public Shader defaultSpeedTree7PS;
[Reload("Shaders/Nature/SpeedTree8.shader")]
public Shader defaultSpeedTree8PS;
}
[Serializable, ReloadGroup]
public sealed class MaterialResources
{
[Reload("Runtime/Materials/Lit.mat")]
public Material lit;
[Reload("Runtime/Materials/ParticlesLit.mat")]
public Material particleLit;
[Reload("Runtime/Materials/TerrainLit.mat")]
public Material terrainLit;
[Reload("Runtime/Materials/Decal.mat")]
public Material decal;
}
public ShaderResources shaders;
public MaterialResources materials;
}
#if UNITY_EDITOR
[UnityEditor.CustomEditor(typeof(UniversalRenderPipelineEditorResources), true)]
class UniversalRenderPipelineEditorResourcesEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
// Add a "Reload All" button in inspector when we are in developer's mode
if (UnityEditor.EditorPrefs.GetBool("DeveloperMode") && GUILayout.Button("Reload All"))
{
var resources = target as UniversalRenderPipelineEditorResources;
resources.materials = null;
resources.shaders = null;
ResourceReloader.ReloadAllNullIn(target, UniversalRenderPipelineAsset.packagePath);
}
}
}
#endif
}