Ejemplo n.º 1
0
 /*
  * Constructor
  * chunkZIndex, chunkXIndex is the location of the chunk we are currently working on
  *
  * e.g. chunk 0 will be based at 0,0,0 in the Universe
  */
 public Chunk(int chunkZIndex, int chunkXIndex, Vector3 position)
 {
     this.chunkZIndex         = chunkZIndex;
     this.chunkXIndex         = chunkXIndex;
     chunk                    = new GameObject(Universe.BuildChunkName(position));
     chunk.transform.position = position;
     //     BuildChunk();
 }
Ejemplo n.º 2
0
    /*
     * This check to see if there are neighbouring chunks along the edges.
     * It retrieves all neighbours to be used later
     */
    private void CheckForNeighbourChunks()
    {
        // Check to see if we have neighbouring chunks
        // NegativeZ - back
        Vector3 negativeZPos = new Vector3(chunk.transform.position.x,
                                           chunk.transform.position.y,
                                           chunk.transform.position.z - Universe.chunkSize);
        string chunkName = Universe.BuildChunkName(negativeZPos);

        if (Universe.chunks.TryGetValue(chunkName, out negativeZchunk))
        {
            isNegativeZ_Chunk = true;
        }
        // PositiveZ - forward
        Vector3 positiveZPos = new Vector3(chunk.transform.position.x,
                                           chunk.transform.position.y,
                                           chunk.transform.position.z + Universe.chunkSize);

        chunkName = Universe.BuildChunkName(positiveZPos);
        if (Universe.chunks.TryGetValue(chunkName, out positiveZchunk))
        {
            isPositiveZ_Chunk = true;
        }
        // NegativeX - left
        Vector3 negativeXPos = new Vector3(chunk.transform.position.x - Universe.chunkSize,
                                           chunk.transform.position.y,
                                           chunk.transform.position.z);

        chunkName = Universe.BuildChunkName(negativeXPos);
        if (Universe.chunks.TryGetValue(chunkName, out negativeXchunk))
        {
            isNegativeX_Chunk = true;
        }
        // PositiveX - right
        Vector3 positiveXPos = new Vector3(chunk.transform.position.x + Universe.chunkSize,
                                           chunk.transform.position.y,
                                           chunk.transform.position.z);

        chunkName = Universe.BuildChunkName(positiveXPos);
        if (Universe.chunks.TryGetValue(chunkName, out positiveXchunk))
        {
            isPositiveX_Chunk = true;
        }
    }