You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
using System; |
|
using UnityEngine; |
|
using UnityEditor.Rendering.Universal; |
|
using static Unity.Rendering.Universal.ShaderUtils; |
|
|
|
namespace UnityEditor |
|
{ |
|
// Used for ShaderGraph Unlit shaders |
|
class ShaderGraphUnlitGUI : BaseShaderGUI |
|
{ |
|
MaterialProperty[] properties; |
|
|
|
// collect properties from the material properties |
|
public override void FindProperties(MaterialProperty[] properties) |
|
{ |
|
// save off the list of all properties for shadergraph |
|
this.properties = properties; |
|
|
|
base.FindProperties(properties); |
|
} |
|
|
|
public static void UpdateMaterial(Material material, MaterialUpdateType updateType) |
|
{ |
|
bool automaticRenderQueue = GetAutomaticQueueControlSetting(material); |
|
BaseShaderGUI.UpdateMaterialSurfaceOptions(material, automaticRenderQueue); |
|
} |
|
|
|
public override void ValidateMaterial(Material material) |
|
{ |
|
UpdateMaterial(material, MaterialUpdateType.ModifiedMaterial); |
|
} |
|
|
|
// material main surface inputs |
|
public override void DrawSurfaceInputs(Material material) |
|
{ |
|
DrawShaderGraphProperties(material, properties); |
|
} |
|
|
|
public override void DrawAdvancedOptions(Material material) |
|
{ |
|
// Always show the queue control field. Only show the render queue field if queue control is set to user override |
|
DoPopup(Styles.queueControl, queueControlProp, Styles.queueControlNames); |
|
if (material.HasProperty(Property.QueueControl) && material.GetFloat(Property.QueueControl) == (float)QueueControl.UserOverride) |
|
materialEditor.RenderQueueField(); |
|
base.DrawAdvancedOptions(material); |
|
materialEditor.DoubleSidedGIField(); |
|
} |
|
} |
|
} // namespace UnityEditor
|
|
|