1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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);
- BaseShaderGUI.UpdateMotionVectorKeywordsAndPass(material);
- }
-
- 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
|