public void Generate() { tiles = new GameObject[size.x, size.y]; for (int x = 0; x < size.x; x++) { for (int y = 0; y < size.y; y++) { GameObject tile; if (x == 0 || ((x == 0 || x == size.x - 1) && y == 0) || x == size.x - 1 || ((x == 0 || x == size.x - 1) && y == size.y - 1)) { tile = Instantiate(tileWallPrefab, tileContainer); } else { tile = Instantiate(tileWeightedRandom.GetItem(), tileContainer); tile.GetComponent <Tile>().OnDrillParticleSystem = sharedOnDrillParticleSystem; } tile.transform.position = new Vector3(x, -y) * tilingSize; SetTile(x, y, tile); } } tileDownTutorial.transform.position = new Vector3(size.x / 2.0f, -size.y - 4.0f) * tilingSize; // Place the fall of trigger under the map, and make sure it's the right size Vector2 centre = GetCentre(); Vector2 extent = GetExtent(); centre.y -= extent.y; extent.x *= 2.0f; fallOffTrigger.position = centre; fallOffTrigger.localScale = extent; }