void buildChunkCollider(GameObject chunkObject, int chunkSize, IntVector2 offset, MapChunkPosition position)
 {
     if (position.Equals(MapChunkPosition.TOP) ||
         position.Equals(MapChunkPosition.BOTTOM) ||
         position.Equals(MapChunkPosition.LEFT) ||
         position.Equals(MapChunkPosition.RIGHT))
     {
         //Build chunk collider, this will be used to trigger the chunk handler's chunk mover
         BoxCollider2D collider = chunkObject.AddComponent <BoxCollider2D>();
         collider.isTrigger = true;
         collider.size      = new Vector3(chunkSize * 2, chunkSize * 2);
         collider.offset    = new Vector3(offset.x, offset.y);
     }
 }
    //Create a map chunk at a specific position
    MapChunk buildChunkScript(GameObject chunkObject, int chunkSize, IntVector2 offset, MapChunkPosition position, List <WavesAndWeights> wavesAndWeights, Transform mapTransform)
    {
        MapChunk chunk = chunkObject.AddComponent <MapChunk>();

        chunk.build(chunkSize, offset, wavesAndWeights, mapTransform);
        chunk.setPosition(position);

        return(chunk);
    }
    void buildChunk(List <WavesAndWeights> wavesAndWeights, Transform mapTransform, int chunkSize, MapChunkPosition position)
    {
        //Get the position with the specified offset offset
        IntVector2 offset = MapChunkDirection.getVectorDirection(position, chunkSize * 2);

        //Create the chunk game object
        GameObject chunkObject = new GameObject();

        buildChunkCollider(chunkObject, chunkSize, offset, position);
        MapChunk chunk = buildChunkScript(chunkObject, chunkSize, offset, position, wavesAndWeights, mapTransform);

        //Add to list of current chunks
        chunks.Add(chunk);
    }