public static bool Prefix(MethodBase __originalMethod, SectionLayer_Things __instance) { if (!Active) { return(true); } if (ByDef) { if (!__instance.Visible) { return(false); } int count = __instance.subMeshes.Count; for (int i = 0; i < count; i++) { LayerSubMesh layerSubMesh = __instance.subMeshes[i]; if (layerSubMesh.finalized && !layerSubMesh.disabled) { string Namer() { var n = layerSubMesh.material?.mainTexture?.name ?? layerSubMesh.GetType().Name; return(n); } // todo material.mainTexture is a non trivial lookup var name = layerSubMesh.material?.mainTexture?.name ?? layerSubMesh.GetType().Name; var prof = ProfileController.Start(name, Namer, __originalMethod.GetType(), __originalMethod); Graphics.Internal_DrawMesh_Injected(layerSubMesh.mesh, 0, ref johnmatrix, layerSubMesh.material, 0, null, null, ShadowCastingMode.Off, false, null, LightProbeUsage.Off, null); // Graphics.DrawMesh(layerSubMesh.mesh, Vector3.zeroVector, Quaternion.identityQuaternion, layerSubMesh.material, 0); prof.Stop(); } } return(false); } { if (!__instance.Visible) { return(false); } int count = __instance.subMeshes.Count; for (int i = 0; i < count; i++) { LayerSubMesh layerSubMesh = __instance.subMeshes[i]; if (layerSubMesh.finalized && !layerSubMesh.disabled) { string Namer() { var n = layerSubMesh.material?.mainTexture?.name ?? layerSubMesh.GetType().Name; return(n); } var name = layerSubMesh.material?.mainTexture?.name ?? layerSubMesh.GetType().Name; var prof = ProfileController.Start(name, Namer, __originalMethod.GetType(), __originalMethod); Graphics.DrawMesh(layerSubMesh.mesh, Vector3.zero, Quaternion.identity, layerSubMesh.material, 0); prof.Stop(); } } } return(false); }