public void relinkRenderers(Dictionary <VoxelIndex, List <GameObject> > meshes) { lock (this) { //print("Start Renderers: " + renderers.Count); foreach (VoxelIndex index in meshes.Keys) { List <GameObject> objects = meshes[index]; //print("Mesh object count: " + objects.Count); VoxelRenderer rend; renderers.TryGetValue(index, out rend); if (rend == null) { rend = new VoxelRenderer(index, this); renderers[index] = rend; //} else { // print("already had renderer"); } VoxelHolder block = head.get(index); if (block is VoxelBlock) { //print("linking"); ((VoxelBlock)block).renderer = rend; //} else { // print("NOT BLOCK!"); } rend.obs = objects.ToArray(); } //print("End Renderers: " + renderers.Count); } }