public void ShaderPropertiesGUI(Material material, MaterialProperty[] props)
{
EditorGUIUtility.labelWidth = 0f;
//------------------------------------------------------------------------------------------
EditorGUI.BeginChangeCheck();
{
//------------------------------------------------------------------------------------------
GUILayout.Label(Styles.RenderingSettingsText, EditorStyles.boldLabel);
DoRenderSettingArea(material);
//------------------------------------------------------------------------------------------
EditorGUILayout.Separator();
IsStencilSettings = EditorGUILayout.BeginToggleGroup(Styles.StencilSettingsText, IsStencilSettings);
if (IsStencilSettings)
{
stencilMode.floatValue = 1;
SetupStencil();
DoStencilArea(material);
}
else
{
stencilMode.floatValue = 0;
SetupStencil();
}
EditorGUILayout.EndToggleGroup();
//------------------------------------------------------------------------------------------
EditorGUILayout.Separator();
GUILayout.Label(Styles.MainColorSettingsText, EditorStyles.boldLabel);
DoBaseColorArea(material);
//------------------------------------------------------------------------------------------
EditorGUILayout.Separator();
IsHilightSettings = EditorGUILayout.BeginToggleGroup(Styles.HilightSettingsText, IsHilightSettings);
if (IsHilightSettings)
{
hilightMode.floatValue = 1;
FindPropertiesHilight(props);
DoHilightArea(material);
GUILayout.Space(8);
}
else
{
hilightMode.floatValue = 0;
}
keyModes.hilightMode = hilightMode.floatValue;
EditorGUILayout.EndToggleGroup();
//------------------------------------------------------------------------------------------
if (IsOutlineSettings)
{
GUILayout.Label(Styles.EdgeSettingsText, EditorStyles.boldLabel);
DoEdgeArea(material);
}
}
//------------------------------------------------------------------------------------------
if (EditorGUI.EndChangeCheck())
{
foreach (var obj in blendMode.targets)
{
MaterialChanged((Material)obj, keyModes);
}
}
material.renderQueue = rq;
}