/// <summary>
    /// SpawnTiles() tells new tiles to place themselves relative to the previous tile
    /// </summary>
    void SpawnTiles()
    {
        Tile tile;

        // Spawn a new tile if the player is sufficiently far
        if (player.position.z + safeDistance > lastSpawnedTile.transform.position.z + lastSpawnedTile.Length)
        {
            Tile choosePrefab = lastSpawnedTile.ConnectsTo[Random.Range(0, lastSpawnedTile.ConnectsTo.Length)];
            Tile t            = TilePool.GetFromPool(choosePrefab.gameObject);

            t.SetPositionAfter(lastSpawnedTile);
            lastSpawnedTile = t;
        }
    }