203    {
  204        int num = 
input.ReadInt32();
 
  205        ModelMeshPart[] meshParts = new ModelMeshPart[num];
  206        for (
int i = 0; 
i < num; 
i++)
 
  207        {
  208            int vertexOffset = 
input.ReadInt32();
 
  209            int numVertices = 
input.ReadInt32();
 
  211            int primitiveCount = 
input.ReadInt32();
 
  212            object obj = 
input.ReadObject<
object>();
 
  213            meshParts[
i] = 
new ModelMeshPart(vertexOffset, numVertices, 
startIndex, primitiveCount, 
obj);
 
  214            int uniqueCopyOfI = 
i;
 
  215            input.ReadSharedResource(delegate(VertexBuffer vb)
 
  216            {
  217                meshParts[uniqueCopyOfI].vertexBuffer = vb;
  218            });
  219            input.ReadSharedResource(delegate(IndexBuffer ib)
 
  220            {
  221                meshParts[uniqueCopyOfI].indexBuffer = ib;
  222            });
  223            input.ReadSharedResource(delegate(Effect effect)
 
  224            {
  225                meshParts[uniqueCopyOfI].Effect = effect;
  226            });
  227        }
  228        return meshParts;
  229    }