public sealed override Texture2D RenderStaticPreview(string assetPath, UnityEngine.Object[] subAssets, int width, int height)
{
TerrainLayer t = AssetDatabase.LoadMainAssetAtPath(assetPath) as TerrainLayer;
if (t == null || t.diffuseTexture == null)
{
return(null);
}
int texwidth = t.diffuseTexture.width;
int texheight = t.diffuseTexture.height;
PreviewHelpers.AdjustWidthAndHeightForStaticPreview(texwidth, texheight, ref width, ref height);
RenderTexture oldRT = RenderTexture.active;
RenderTexture tempRT = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.ARGB32);
Graphics.Blit(t.diffuseTexture, tempRT);
Texture2D previewTexture = new Texture2D(width, height, TextureFormat.ARGB32, false);
RenderTexture.active = tempRT;
previewTexture.ReadPixels(new Rect(0, 0, width, height), 0, 0);
previewTexture.Apply();
RenderTexture.ReleaseTemporary(tempRT);
tempRT = null;
RenderTexture.active = oldRT;
return(previewTexture);
}