コード例 #1
0
    void ClearAllRooms()
    {
        foreach (GameObject go in roomList.ToArray())
        {
            roomList.Remove(go);
            Destroy(go);
        }
        roomList.Clear();

        for (int i = 0; i < gridPoints.Length; i++)
        {
            RoomGenerator rG = gridPoints[i].GetComponent <RoomGenerator>();
            rG.ClearAdjacentRoomBools();
            rG.ClearRoomConnections();
        }
    }
コード例 #2
0
    IEnumerator ClearRoom(int roomNumber, bool plusCorridors)
    {
        Transform     roomTransform = gridPoints[roomNumber].transform;
        RoomGenerator roomGen       = roomTransform.GetComponent <RoomGenerator>();

        roomGen.ClearAdjacentRoomBools();
        roomGen.ClearRoomConnections();
        roomGen.ClearDoorways();

        roomTransform.GetChild(0).GetComponent <RoomScript>().PrepareForDeletion();
        Destroy(roomTransform.GetChild(0).gameObject);
        //roomTransform.GetChild(0).gameObject.SetActive(false);
        if (plusCorridors)
        {
            while (roomTransform.childCount > 0)
            {
                Destroy(roomTransform.GetChild(0).gameObject);
                yield return(null);
            }
        }
    }
コード例 #3
0
    void ClearAllCorridors()
    {
        foreach (GameObject go in corridorList.ToArray())
        {
            corridorList.Remove(go);
            Destroy(go);
        }
        corridorList.Clear();

        foreach (GameObject go in doorList.ToArray())
        {
            doorList.Remove(go);
            Destroy(go);
        }
        doorList.Clear();

        for (int i = 0; i < gridPoints.Length; i++)
        {
            RoomGenerator rG = gridPoints[i].GetComponent <RoomGenerator>();
            rG.ClearRoomConnections();
        }
    }