public static void Generate(IMapGrid map, Params param) { m_params = param; map.Init(); // round block for (int x = 0; x < map.Width; x++) for (int y = 0; y < map.Height; y++) if (x == 0 || y == 0 || x == (map.Width - 1) || y == (map.Height - 1)) map.SetID (x, y, MapGridTypes.ID.Blocked); else map.SetID (x, y, MapGridTypes.ID.Empty); // create rooms PlaceRooms(map); // create corridors PlaceCorridors(map); // place stairs PlaceStairs(map); // remove dead ends if (m_params.RemoveDeadEnd) RemoveDeadEnds(map); // final cleanup Cleanup(map); }