public void GenerateCave() { cave = new Cave(Width, Height, RandomFillPercentage, BorderThickness); cave.Generate(UseRandomSeed ? (int)DateTimeOffset.Now.ToUnixTimeSeconds() : Seed.GetHashCode()); for (int i = 0; i < SmoothingCount; i++) { cave.SmoothCave(); } if (RemoveSmallRegions) { cave.ReplaceRegions(CaveTile.Air, CaveTile.Wall, MinimumRegionSize); cave.ReplaceRegions(CaveTile.Wall, CaveTile.Air, MinimumRegionSize); } if (ConnectAllRooms) { cave.ConnectAllRegionsOfType(CaveTile.Air, (int)PassageWidth); } MeshGenerator meshGenerator = GetComponent <MeshGenerator>(); meshGenerator.GenerateMesh(cave.Tiles, 1); }