private void ShowBakePerformanceWarning(SerializedObject so, Terrain terrain)
{
LightmapParameters parameters;
float x = terrain.terrainData.size.x;
float z = terrain.terrainData.size.z;
LightmapParameters objectReferenceValue = (LightmapParameters) so.FindProperty("m_LightmapParameters").objectReferenceValue;
if (objectReferenceValue != null)
{
parameters = objectReferenceValue;
}
else
{
parameters = new LightmapParameters();
}
float num3 = (x * parameters.resolution) * LightmapEditorSettings.realtimeResolution;
float num4 = (z * parameters.resolution) * LightmapEditorSettings.realtimeResolution;
if ((num3 > 512f) || (num4 > 512f))
{
EditorGUILayout.HelpBox("Baking resolution for this terrain probably is TOO HIGH. Try use a lower resolution parameter set otherwise it may take long or even infinite time to bake and memory consumption during baking may get greatly increased as well.", MessageType.Warning);
}
float num5 = num3 * parameters.clusterResolution;
float num6 = num4 * parameters.clusterResolution;
float num7 = ((float) terrain.terrainData.heightmapResolution) / num5;
float num8 = ((float) terrain.terrainData.heightmapResolution) / num6;
if ((num7 > 51.2f) || (num8 > 51.2f))
{
EditorGUILayout.HelpBox("Baking resolution for this terrain probably is TOO LOW. If it takes long time in Clustering stage, try use a higher resolution parameter set.", MessageType.Warning);
}
}