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); }
void Start() { if (_on) { Debug.Log("Start"); _tileMapCollider.enabled = false; _grid = Cave.Generate(_cols, _rows, false /* isAngular */, false /* isEmpty */); for (int row = 0; row < _rows; row++) { for (int col = 0; col < _cols; col++) { CellType cell = _grid[col, row]; if (cell != CellType.Empty) { _tileMap.SetTile(new Vector3Int(col, row, 0), _tile); } } } Debug.Log(watch.ElapsedMilliseconds); _tileMapCollider.enabled = true; GridPoint gp = Cave.GetSpawnPoint(); Instantiate(_playerPrefab, new Vector3(gp.column + 0.5f, (gp.row + 0.5f), 10), Quaternion.identity); for (int i = 0; i < 10; i++) { gp = Cave.GetSpawnPoint(); Instantiate(_enemyPrefab, new Vector3(gp.column + 0.5f, (gp.row + 0.5f), 10), Quaternion.identity); } } }
static void Main(string[] args) { //Create Cave Cave cave = new Cave(100, 210, 65); //Render 20 times for (int a = 0; a < 20; a++) { //Get the cave display string display = cave.Display(); //Generate the cave cave.Generate(); //Turn the cave data into readable graphics for (int i = 0; i < (display.Length); i++) { if (display[i].ToString() != "l") { int num = int.Parse(display[i].ToString()); if (num == 0) { Console.ForegroundColor = ConsoleColor.DarkBlue; } if (num == 1) { Console.ForegroundColor = ConsoleColor.White; } if (num == 2) { Console.ForegroundColor = ConsoleColor.White; } Console.Write("0"); } else { //Create new line Console.Write("\n"); } } Console.Clear(); } Console.ReadKey(); }