Example #1
0
    Chunk createChunk(GameObject prefab, int chunkId, float loadSpeed)
    {
        GameObject newChunkGO = new GameObject("Chunk" + chunkId);

        newChunkGO.transform.parent   = generationParentTransform;
        newChunkGO.transform.position = lastRoomEndPosition;
        newChunkGO.transform.Rotate(0, 0, rotation);
        newChunkGO.layer = LayerMask.NameToLayer("Chunk");

        Chunk newChunk = newChunkGO.AddComponent <Chunk>();

        prefab.GetComponent <Chunk>().copyTo(newChunk);

        BoxCollider2D prefabCollider   = prefab.GetComponent <BoxCollider2D>();
        BoxCollider2D newChunkCollider = newChunkGO.AddComponent <BoxCollider2D>();

        newChunkCollider.isTrigger = prefabCollider.isTrigger;
        newChunkCollider.center    = prefabCollider.center;
        newChunkCollider.size      = prefabCollider.size;

        proceduralGeneratorOfChunk.StartCoroutine(createTiles(prefab, newChunkGO, loadSpeed));

        return(newChunk);
    }