Пример #1
0
    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;
                    }
                }
            }
        }
    }
Пример #2
0
 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);
 }