private void BuildingAIRenderMesh(RenderManager.CameraInfo cameraInfo, ushort buildingID, ref Building data, BuildingInfo info, ref RenderManager.Instance instance)
        {
            if (info.m_overrideMainRenderer != null)
            {
                InstanceID empty = InstanceID.Empty;
                empty.Building = buildingID;
                BuildingInfo buildingInfo = info.ObtainPrefabInstance<BuildingInfo>(empty, 255);
                if (buildingInfo != null)
                {
                    buildingInfo.m_buildingAI.SetRenderParameters(cameraInfo, buildingID, ref data, instance.m_position, instance.m_rotation, instance.m_dataVector0, instance.m_dataVector3, instance.m_dataColor0);
                    return;
                }
            }

            BuildingManager instance2 = Singleton<BuildingManager>.instance;
            instance2.m_materialBlock.Clear();
            instance2.m_materialBlock.AddVector(instance2.ID_BuildingState, instance.m_dataVector0);
            instance2.m_materialBlock.AddVector(instance2.ID_ObjectIndex, instance.m_dataVector3);
            instance2.m_materialBlock.AddColor(instance2.ID_Color, instance.m_dataColor0);

            if (info.m_requireHeightMap)
            {
                instance2.m_materialBlock.AddTexture(instance2.ID_HeightMap, instance.m_dataTexture0);
                instance2.m_materialBlock.AddVector(instance2.ID_HeightMapping, instance.m_dataVector1);
                instance2.m_materialBlock.AddVector(instance2.ID_SurfaceMapping, instance.m_dataVector2);
            }
            BuildingManager expr_134_cp_0 = instance2;
            expr_134_cp_0.m_drawCallData.m_defaultCalls = expr_134_cp_0.m_drawCallData.m_defaultCalls + 1;
            Bounds bounds = info.m_mesh.bounds;
            if (bounds.min.y > 0.1f - instance.m_dataVector0.w)
            {
                Vector3 min = bounds.min;
                min.y = -instance.m_dataVector0.w;
                bounds.min = min;
                info.m_mesh.bounds = bounds;
            }

            Graphics.DrawMesh(info.m_mesh, instance.m_dataMatrix1, info.m_material, info.m_prefabDataLayer, null, 0, instance2.m_materialBlock);
        }