// This is for generating map public void GenerateMapData() { tilesData = new TileData[mapSizeX, mapSizeY]; for (int x = 0; x < mapSizeX; x++) { for (int y = 0; y < mapSizeY; y++) { tilesData[x, y] = new TileData(); tilesData[x, y].type = new TileType(); tilesData[x, y].type.type = TileData.Type.OuterWall; } } DungeonRoom.Door[] doors; doors = new DungeonRoom.Door[2]; doors[0].Open = true; doors[0].DoorPosition = DungeonRoom.DoorType.South; doors[1].DoorPosition = DungeonRoom.DoorType.East; doors[1].Open = true; DungeonRoom room_1 = new DungeonRoom(this, 7, 7, 12, 14, doors); room_1.Create(); room_1.CreateInnerRoom(4, 4, 6, 6); DungeonRoom.Door[] door2 = new DungeonRoom.Door[1]; door2[0].DoorPosition = DungeonRoom.DoorType.South; door2[0].Open = false; DungeonRoom room_2 = new DungeonRoom(this, 20, 4, 8, 8, door2); room_2.Create(); Coridor corridor1 = new Coridor(this, 22, 13, 5, 2); corridor1.Create_East_West(); DungeonPattern dungeonPattern = new DungeonPattern(); dungeonPattern.Create(this); }
// Use this for initialization void Start() { // check for random seed if (seed == 0) { seed = Random.seed; Debug.Log("The session seed is " + seed); } else { Random.InitState(seed); } Dungeon dungeon = new Dungeon(util.RandomInt(dungeongSizeXMin, dungeongSizeXMax), util.RandomInt(dungeongSizeYMax, dungeongSizeYMin)); // this is bullshit but needed for init the array for now ... int[,] map = map = dungeon.GetMap(); for (int i = 0; i < 3; i++) { Debug.Log("Room Generation -> This is Room : " + i); Room room = new Room(util.RandomInt(dungeongSizeXMin, dungeongSizeXMax), util.RandomInt(dungeongSizeYMax, dungeongSizeYMin), roomSizeXMin, roomSizeXMax, roomSizeYMin, roomSizeYMax, dungeon); Coridor coridor = new Coridor(room, coridorSizeXMax, coridorSizeXMin, coridorSizeYMax, coridorSizeYMax); var roomList = room.GetRoomList(); map = dungeon.GetMap(); map = UpdateMap(map, roomList); // update coridors roomList = coridor.GetRoomList(); map = UpdateMap(map, roomList); } RenderMap(map, dungeon.GetSizeX(), dungeon.GetSizeY()); }