Esempio n. 1
0
        public void LoadModel(int sizeX, int sizeY, int sizeZ, byte[,,] data)
        {
            ModelLeaf leaf = new ModelLeaf(modelID, sizeX, sizeY, sizeZ, data);

            leafComponents.Add(modelID, leaf);
            modelID++;
        }
Esempio n. 2
0
 void traverseCompositeTree(IModelTreeComponent component, IntermediateMap map, int offsetX, int offsetY, int offsetZ)
 {
     if (component is ModelLeaf)
     {
         ModelLeaf model = (ModelLeaf)component;
         for (int x = 0; x < model.sizeX; x++)
         {
             for (int y = 0; y < model.sizeY; y++)
             {
                 for (int z = 0; z < model.sizeZ; z++)
                 {
                     int colourIndex = model.data[x, y, z]; //Implicit conversion
                     map.setBlockAt(offsetX + x, offsetY + y, offsetZ + z, new Block(colourIndex));
                 }
             }
         }
     }
     else if (component is ModelTree)
     {
         ModelTree tree = (ModelTree)component;
         foreach (IModelTreeComponent child in tree.components)
         {
             traverseCompositeTree(child, map, offsetX + tree.offsetX, offsetY + tree.offsetY, offsetZ + tree.offsetZ);
         }
     }
 }