private void ProceduralProperties()
{
GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.ExpandWidth(true) };
GUILayout.Label("Procedural Properties", EditorStyles.boldLabel, options);
foreach (ProceduralMaterial material in base.targets)
{
if (material.isProcessing)
{
base.Repaint();
SceneView.RepaintAll();
GameView.RepaintAll();
break;
}
}
if (base.targets.Length > 1)
{
GUILayout.Label("Procedural properties do not support multi-editing.", EditorStyles.wordWrappedLabel, new GUILayoutOption[0]);
}
else
{
EditorGUIUtility.labelWidth = 0f;
EditorGUIUtility.fieldWidth = 0f;
if (m_Importer != null)
{
if (!ProceduralMaterial.isSupported)
{
GUILayoutOption[] optionArray2 = new GUILayoutOption[] { GUILayout.ExpandWidth(true) };
GUILayout.Label("Procedural Materials are not supported on " + EditorUserBuildSettings.activeBuildTarget + ". Textures will be baked.", EditorStyles.helpBox, optionArray2);
}
bool changed = GUI.changed;
using (new EditorGUI.DisabledScope(EditorApplication.isPlaying))
{
EditorGUI.BeginChangeCheck();
bool generated = EditorGUILayout.Toggle(this.m_Styles.generateAllOutputsContent, m_Importer.GetGenerateAllOutputs(m_Material), new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
m_Importer.SetGenerateAllOutputs(m_Material, generated);
}
EditorGUI.BeginChangeCheck();
bool mode = EditorGUILayout.Toggle(this.m_Styles.mipmapContent, m_Importer.GetGenerateMipMaps(m_Material), new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
m_Importer.SetGenerateMipMaps(m_Material, mode);
}
}
if (m_Material.HasProceduralProperty("$time"))
{
EditorGUI.BeginChangeCheck();
int num2 = EditorGUILayout.IntField(this.m_Styles.animatedContent, m_Importer.GetAnimationUpdateRate(m_Material), new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
m_Importer.SetAnimationUpdateRate(m_Material, num2);
}
}
GUI.changed = changed;
}
this.InputOptions(m_Material);
}
}