void makeMap(RoomNode ptr, string whereIs) { if (ptr != null) { makeMap(ptr.getLeftNode(), "left"); makeMap(ptr.getRightNode(), "right"); } else if (ptr == null) { return; } if (ptr.getLeftNode() == null && ptr.getRightNode() == null) { buf = ptr.getGrid(); for (int a = 0; a < ptr.getWidth(); a++) { for (int b = 0; b < ptr.getHeight(); b++) { Debug.Log((a + b) + "," + (a + b) + " = " + buf[a, b] + " getgridvalue = " + ptr.getGridValue(a, b)); } } float floorSize = floor.GetComponent <SpriteRenderer>().sprite.bounds.size.x; for (int i = ptr.getX(); i <= ptr.getWidth() + ptr.getX() - 1; i++) { for (int j = ptr.getY(); j <= ptr.getHeight() + ptr.getY() - 1; j++) { if (buf[i - ptr.getX(), j - ptr.getY()] == 0) { GameObject RoomFloor = Instantiate(floor); RoomFloor.transform.position = new Vector3(floorSize * i, floorSize * j, 0); RoomFloor.name = ptr.getIndex() + "번 노드 바닥" + whereIs; } else if (buf[i - ptr.getX(), j - ptr.getY()] == 1) { GameObject RoomWall = Instantiate(wall); RoomWall.transform.position = new Vector3(floorSize * i, floorSize * j, 0); RoomWall.name = ptr.getIndex() + "번 노드 벽 " + whereIs; } } } } }
void randomFillMap() { for (int x = 0; x < ptr.getWidth(); x++) { for (int y = 0; y < ptr.getHeight(); y++) { Debug.Log("rnd work"); if (Random.Range(0, 100) < setRandomFillPercent) { grid[x, y] = 1; } else { grid[x, y] = 0; } } } ptr.setGrid(grid); }