Beispiel #1
0
 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);
     }
 }