コード例 #1
0
    private void CreateWall(Wall original, int numConnections, bool north, bool south, bool east, bool west)
    {
        Wall wall = null;

        switch (numConnections)
        {
        case 1:
            wall = Instantiate(Wall1).GetComponent <Wall>();
            RotateEndWall(wall, north, south, east, west);
            break;

        case 2:
            if ((north && south) || (east && west))
            {
                wall = Instantiate(Wall2Straight).GetComponent <Wall>();
                RotateStraightWall(wall, north, south, east, west);
            }
            else
            {
                wall = Instantiate(Wall2Corner).GetComponent <Wall>();
                RotateCornerWall(wall, north, south, east, west);
            }
            break;

        case 3:
            wall = Instantiate(Wall3).GetComponent <Wall>();
            RotateTWall(wall, north, south, east, west);
            break;

        case 4:
            wall = Instantiate(Wall4).GetComponent <Wall>();
            break;
        }

        wall.transform.position = original.transform.position;
        wall.transform.SetParent(wallParent);

        floor.AddObjectToCell(wall, wall.transform.position);
    }