private void DoRenderPreview(bool shaded)
{
BillboardAsset billboardAsset = this.target as BillboardAsset;
Bounds bounds = new Bounds(new Vector3(0f, (this.m_Height.floatValue + this.m_Bottom.floatValue) * 0.5f, 0f), new Vector3(this.m_Width.floatValue, this.m_Height.floatValue, this.m_Width.floatValue));
float magnitude = bounds.extents.magnitude;
float num = 8f * magnitude;
Quaternion quaternion = Quaternion.Euler(-this.m_PreviewDir.y, -this.m_PreviewDir.x, 0f);
this.m_PreviewUtility.m_Camera.transform.rotation = quaternion;
this.m_PreviewUtility.m_Camera.transform.position = quaternion * (-Vector3.forward * num);
this.m_PreviewUtility.m_Camera.nearClipPlane = num - magnitude * 1.1f;
this.m_PreviewUtility.m_Camera.farClipPlane = num + magnitude * 1.1f;
this.m_PreviewUtility.m_Light[0].intensity = 1.4f;
this.m_PreviewUtility.m_Light[0].transform.rotation = quaternion * Quaternion.Euler(40f, 40f, 0f);
this.m_PreviewUtility.m_Light[1].intensity = 1.4f;
Color ambient = new Color(0.1f, 0.1f, 0.1f, 0f);
InternalEditorUtility.SetCustomLighting(this.m_PreviewUtility.m_Light, ambient);
if (shaded)
{
billboardAsset.MakeRenderMesh(this.m_ShadedMesh, 1f, 1f, 0f);
billboardAsset.MakeMaterialProperties(this.m_ShadedMaterialProperties, this.m_PreviewUtility.m_Camera);
ModelInspector.RenderMeshPreviewSkipCameraAndLighting(this.m_ShadedMesh, bounds, this.m_PreviewUtility, billboardAsset.material, null, this.m_ShadedMaterialProperties, new Vector2(0f, 0f), -1);
}
else
{
billboardAsset.MakePreviewMesh(this.m_GeometryMesh);
ModelInspector.RenderMeshPreviewSkipCameraAndLighting(this.m_GeometryMesh, bounds, this.m_PreviewUtility, this.m_GeometryMaterial, this.m_WireframeMaterial, null, new Vector2(0f, 0f), -1);
}
InternalEditorUtility.RemoveCustomLighting();
}