Esempio n. 1
0
        //---------------------------------------------------------------------------

        #endregion

        //---------------------------------------------------------------------------

        #region Private Member Functions

        //---------------------------------------------------------------------------

        private static void Build(OpenCog.Map.OCChunk chunk, bool onlyLight)
        {
            OpenCog.Map.OCMap map = chunk.GetMap();
            _meshData.Clear();
            for (int z = 0; z < OpenCog.Map.OCChunk.SIZE_Z; z++)
            {
                for (int y = 0; y < OpenCog.Map.OCChunk.SIZE_Y; y++)
                {
                    for (int x = 0; x < OpenCog.Map.OCChunk.SIZE_X; x++)
                    {
                        OCBlock block = chunk.GetBlock(x, y, z).block;
                        if (block != null)
                        {
                            Vector3i localPos = new Vector3i(x, y, z);
                            Vector3i worldPos = OpenCog.Map.OCChunk.ToWorldPosition(chunk.GetPosition(), localPos);
                            if (worldPos.y > 0)
                            {
                                block.Build(localPos, worldPos, map, _meshData, onlyLight);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 2
0
 public static void BuildChunkLighting(Mesh mesh, OpenCog.Map.OCChunk chunk)
 {
     Build(chunk, true);
     mesh.colors = _meshData.GetColors().ToArray();
 }
Esempio n. 3
0
        //---------------------------------------------------------------------------

        #endregion

        //---------------------------------------------------------------------------

        #region Accessors and Mutators

        //---------------------------------------------------------------------------



        //---------------------------------------------------------------------------

        #endregion

        //---------------------------------------------------------------------------

        #region Public Member Functions

        //---------------------------------------------------------------------------

        public static Mesh BuildChunk(Mesh mesh, OpenCog.Map.OCChunk chunk)
        {
            Build(chunk, false);
            return(_meshData.ToMesh(mesh));
        }