private void OnGUI()
{
EditorGUIUtility.labelWidth = (base.position.width - 64f) - 20f;
bool flag = true;
this.m_ScrollPosition = EditorGUILayout.BeginVerticalScrollView(this.m_ScrollPosition, false, GUI.skin.verticalScrollbar, GUI.skin.scrollView, new GUILayoutOption[0]);
flag &= this.ValidateTerrain();
EditorGUI.BeginChangeCheck();
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
string label = "";
float alignmentOffset = 0f;
switch (this.m_Terrain.materialType)
{
case Terrain.MaterialType.BuiltInStandard:
label = " Albedo (RGB)\nSmoothness (A)";
alignmentOffset = 15f;
break;
case Terrain.MaterialType.BuiltInLegacyDiffuse:
label = "\n Diffuse (RGB)";
alignmentOffset = 15f;
break;
case Terrain.MaterialType.BuiltInLegacySpecular:
label = "Diffuse (RGB)\n Gloss (A)";
alignmentOffset = 12f;
break;
case Terrain.MaterialType.Custom:
label = " \n Splat";
alignmentOffset = 0f;
break;
}
TextureFieldGUI(label, ref this.m_Texture, alignmentOffset);
TextureFieldGUI("\nNormal", ref this.m_NormalMap, -4f);
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
flag &= this.ValidateMainTexture(this.m_Texture);
if (flag)
{
if (IsUsingMetallic(this.m_Terrain.materialType, this.m_Terrain.materialTemplate))
{
EditorGUILayout.Space();
float labelWidth = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 75f;
this.m_Metallic = EditorGUILayout.Slider("Metallic", this.m_Metallic, 0f, 1f, new GUILayoutOption[0]);
EditorGUIUtility.labelWidth = labelWidth;
}
else if (IsUsingSpecular(this.m_Terrain.materialType, this.m_Terrain.materialTemplate))
{
this.m_Specular = EditorGUILayout.ColorField("Specular", this.m_Specular, new GUILayoutOption[0]);
}
if (IsUsingSmoothness(this.m_Terrain.materialType, this.m_Terrain.materialTemplate) && !TextureUtil.HasAlphaTextureFormat(this.m_Texture.format))
{
EditorGUILayout.Space();
float num3 = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 75f;
this.m_Smoothness = EditorGUILayout.Slider("Smoothness", this.m_Smoothness, 0f, 1f, new GUILayoutOption[0]);
EditorGUIUtility.labelWidth = num3;
}
}
SplatSizeGUI(ref this.m_TileSize, ref this.m_TileOffset);
bool flag2 = EditorGUI.EndChangeCheck();
EditorGUILayout.EndScrollView();
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.FlexibleSpace();
GUI.enabled = flag;
GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MinWidth(100f) };
if (GUILayout.Button(this.m_ButtonTitle, options))
{
this.ApplyTerrainSplat();
base.Close();
GUIUtility.ExitGUI();
}
GUI.enabled = true;
GUILayout.EndHorizontal();
if ((flag2 && flag) && (this.m_Index != -1))
{
this.ApplyTerrainSplat();
}
}