public void createRoom(int x, int z, int numDoors, RoomGeneratorScript roomGen) { setSize(x, z); genreateRoom(roomGen, numDoors); createRoomTrigger(); setUpDoors(); }
private void CreateLevel() { ClearDungeon(); CustomRooms.ResetCounts(); LevelContainer = new GameObject(); LevelContainer.transform.position = new Vector3(0.0f, 0.0f, 0.0f); finishPlaced = false; Random.seed = Random.seed + 3775 * 3; numberOfRooms = numberOfRooms + 5; roomGen = this.GetComponent<RoomGeneratorScript>(); prebuildFirstRoom(); if (firstLevel) { genreateMap(numberOfRooms); RoomTraversal.PopulateKeys(first); } else { Triggerable[] finalRoomListener = new Triggerable[1]; finalRoomListener[0] = this.gameObject.GetComponent<LevelChangeTriggerable>(); first.transform.FindChild("FinishRoom").transform.Find("LevelChangeTrigger").GetComponent<CollisionTriggerer>().listeners = finalRoomListener; } RoomVisualizerScript.weightDungeon(first.GetComponent<Room>()); RoomVisualizerScript.visualizeRooms(first.GetComponent<Room>()); if (first.GetComponent<Room>().useStartVector) { player.transform.position = first.GetComponent<Room>().startVector; } else { player.transform.position = first.transform.position + new Vector3(0.0f, 0.5f, 0.0f); } }
private void genreateRoom(RoomGeneratorScript roomGen, int numDoors) { bool[] exits = new bool[4]; if (endRoom) { exits[0] = true; } else { int exitAmount = numDoors; for (int i = 0; i < exitAmount; i++) { exits[i] = true; } } GameObject newRoom = roomGen.getRectRoom(sizeX, sizeZ, exits[3], exits[0], exits[1], exits[2]); newRoom.transform.position = new Vector3(-(sizeX / 2), 0.0f, -(sizeZ/2)); if (exits[0]) { GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; Door northDoor = newDoor.GetComponent<Door>(); newDoor.transform.position = new Vector3(1.0f, 0.0f, 0.0f) * (sizeX); northDoor.setRoom(this); northDoor.setExitDirection(northDoor.transform.position - this.transform.position); northDoor.sizeOfWall = sizeX; newDoor.transform.parent = this.transform; addDoor(northDoor); } if (exits[1]) { GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; Door eastDoor = newDoor.GetComponent<Door>(); newDoor.transform.position = new Vector3(0.0f, 0.0f, 1.0f) * (sizeZ); eastDoor.setRoom(this); eastDoor.setExitDirection(eastDoor.transform.position - this.transform.position); eastDoor.sizeOfWall = sizeZ; newDoor.transform.parent = this.transform; addDoor(eastDoor); } if (exits[2]) { GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; Door southDoor = newDoor.GetComponent<Door>(); newDoor.transform.position = new Vector3(-1.0f, 0.0f, 0.0f) * (sizeX); southDoor.setRoom(this); southDoor.setExitDirection(southDoor.transform.position - this.transform.position); southDoor.sizeOfWall = sizeX; newDoor.transform.parent = this.transform; addDoor(southDoor); } if (exits[3]) { GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; Door westDoor = newDoor.GetComponent<Door>(); newDoor.transform.position = new Vector3(0.0f, 0.0f, -1.0f) * (sizeZ); westDoor.setRoom(this); westDoor.setExitDirection(westDoor.transform.position - this.transform.position); westDoor.sizeOfWall = sizeZ; newDoor.transform.parent = this.transform; addDoor(westDoor); } newRoom.transform.parent = this.transform; }
public void SpawnRoom(RoomGeneratorScript roomGen) { GameObject newRoom = roomGen.getRectRoom(roomSize, roomSize, exits[3], exits[0], exits[1], exits[2]); Vector3 fixedPosition = new Vector3(this.transform.position.x - (int)(roomSize / 2), this.transform.position.y, this.transform.position.z - (int)(roomSize / 2)); newRoom.transform.position = fixedPosition; newRoom.transform.parent = this.transform; }
// Start is called before the first frame update void Start() { levelData = new LevelData(LEVEL_WIDTH * LEVEL_LENGTH); /*int[] paletteValues ={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};*/ /*int[] paletteValues = { 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0, * 0, 0, 0, 0, 0, 0, 0, 0,};*/ /*int[] paletteValues = { 0, 2, 0, 0, 0, 2, 0, 0, * 0, 2, 0, 0, 0, 2, 0, 0, * 0, 2, 0, 0, 0, 2, 0, 0, * 1,11, 1, 1, 1,11, 1, 1, * 0, 2, 0, 0, 0, 2, 0, 0, * 0, 2, 0, 0, 0, 2, 0, 0, * 1,11, 1, 1, 1,11, 1, 1, * 0, 2, 0, 0, 0, 2, 0, 0,};*/ /*int[] paletteValues = {0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, * 0, 2, 0, 0, 0, 0, 0, 0,11,11, 1, 1,11, 1,11, 1, * 0, 2, 0, 0, 0,11, 1, 1,11,11, 0, 0, 2, 0, 2, 0, * 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2, 0, 2, 0, * 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0,11, 0, 2, 0, * 11,11, 1, 1, 1,11, 0, 0, 0, 2, 0, 0, 0, 0,11, 1, * 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, * 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, * 2, 0, 0, 0, 0, 2, 0, 0, 0,11, 1, 1,11, 0, 0, 0, * 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0,11, 1,11, 0, * 11, 1, 1, 1, 1,11, 1, 1,11,11, 0, 0, 2, 0, 2, 0, * 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0, * 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0, * 11, 0, 0, 0,11, 0, 0, 0,11, 1, 1, 1,11, 1,11, 1, * 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, * 11, 1, 1, 1,11, 1, 1, 1,11, 0, 0, 0, 2, 0, 0, 0,};*/ int[] paletteValues = { 11, 1, 1, 1, 11, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 11, 1, 1, 11, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 11, 1, 1, 1, 11, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 11, 1, 1, 1, 11, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 11, 1, 1, 11, 1, 1, 11, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 2, 11, 1, 1, 11, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 11, 1, 1, 1, 1, 11, 0, 0, 0, 11, 1, 11, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 11, 1, 1, 1, 1, 1, 11, 0, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 11, 11, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 11, 1, 1, 1, 11, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 11, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2 }; PaletteMakerScript mkr = new PaletteMakerScript(); mkr.generateJSON(paletteValues, 16, 16, true, "bigPalette8"); WFCScript wfc = new WFCScript(LEVEL_WIDTH, LEVEL_LENGTH, "D:/dev/orthocubes/gamedata/bigPalette8.json"); wfc.generateWithResets(1); buildLevel(); RoomGeneratorScript roomGen = new RoomGeneratorScript(grid); List <Room> roomList = roomGen.findRooms(); foreach (Room room in roomList) { //Debug.Log(room.toString()); } player = new Entity(new Coordinate(0, 0, 0), GameObject.Find("Player")); //debugBuildWall(4); }