void SpawnMobRooms() { GameObject toInstantiate; GameObject prevRoom; float test; toInstantiate = Instantiate(mobRooms[0], new Vector3(widthOffset, heightOffset, 0), Quaternion.identity); test = toInstantiate.GetComponent <RoomProperties>().roomHeight / 2; toInstantiate.transform.position = new Vector3(widthOffset, (heightOffset / 2) - test, 0); Debug.Log("I am a" + test); prevRoom = mobRooms[0]; prevRoomProperties = toInstantiate.GetComponent <RoomProperties>(); prevRoomProperties.direction = RoomProperties.CORRIDOR_DIRECTION.EAST; Debug.Log(prevRoomProperties.direction); int numMobRoomsSpawned = 0; //do //{ if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.NORTH) { int index = -1; for (int i = 0; i < mobRooms.Count; i++) { if (mobRooms[i] != mobRooms[0]) { if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.SOUTH) == RoomProperties.CORRIDOR_DIRECTION.SOUTH) { Debug.Log("IM IN"); index = i; break; } } } if (index != -1) { ; toInstantiate = Instantiate(mobRooms[index], new Vector3(0, -heightOffset, 0), Quaternion.identity); numMobRoomsSpawned++; } } else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.EAST) { int index = -1; for (int i = 0; i < mobRooms.Count; i++) { if (mobRooms[i] != mobRooms[0]) { if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.WEST) == RoomProperties.CORRIDOR_DIRECTION.WEST) { index = i; break; } } } if (index != -1) { toInstantiate = Instantiate(mobRooms[index], new Vector3(widthOffset, 0, 0), Quaternion.identity); numMobRoomsSpawned++; } } else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.SOUTH) { int index = -1; for (int i = 0; i < mobRooms.Count; i++) { if (mobRooms[i] != mobRooms[0]) { if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.NORTH) == RoomProperties.CORRIDOR_DIRECTION.NORTH) { index = i; break; } } } if (index != -1) { toInstantiate = Instantiate(mobRooms[index], new Vector3(0, heightOffset, 0), Quaternion.identity); numMobRoomsSpawned++; } } else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.WEST) { int index = -1; for (int i = 0; i < mobRooms.Count; i++) { if (mobRooms[i] != mobRooms[0]) { if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.EAST) == RoomProperties.CORRIDOR_DIRECTION.EAST) { index = i; break; } } } if (index != -1) { toInstantiate = Instantiate(mobRooms[index], new Vector3(-widthOffset, 0, 0), Quaternion.identity); numMobRoomsSpawned++; } } //}while (numMobRoomsSpawned != numMobRoomsToSpawn); }