private void SetDoor(Node node, Door door, RoomTag tagSelect, Door.STATE state)
 {
     if (node.RoomTags.HasFlag(tagSelect))
     {
         door.SetState(state);
     }
 }
Beispiel #2
0
 public Edge(Node n1, Node n2, Door.STATE state = Door.STATE.OPEN)
 {
     node0       = n1;
     node1       = n2;
     doorState   = state;
     orientation = node1.location - node0.location;
 }
Beispiel #3
0
 public void SetExits(List <ExitEnum> le, Door.STATE state = Door.STATE.OPEN)
 {
     if (le.Contains(ExitEnum.Up))
     {
         upDoor.SetState(state);
     }
     if (le.Contains(ExitEnum.Down))
     {
         downDoor.SetState(state);
     }
     if (le.Contains(ExitEnum.Left))
     {
         leftDoor.SetState(state);
     }
     if (le.Contains(ExitEnum.Right))
     {
         rightDoor.SetState(state);
     }
 }
Beispiel #4
0
 public void ConnectNodes(Node A, Node B, Door.STATE state = Door.STATE.OPEN)
 {
     A.adjacents.AddLast(new Edge(A, B, state));
     B.adjacents.AddLast(new Edge(B, A, state));
 }
Beispiel #5
0
    void CreateNodeToNode(Node fromNode, string nodeName, Node.ROOM_TYPE roomType = Node.ROOM_TYPE.DEFAULT, Door.STATE state = Door.STATE.OPEN)
    {
        var node = new Node(nodeName, roomType);

        // check exception : no path found (rooms all around) [Shouldn't ever be called]
        if (!InitNodeFrom(fromNode, node))
        {
            Debug.LogWarning("cannot create a room next to " + fromNode.name + " because it has rooms all around already");
            return;
        }
        ConnectNodes(fromNode, node, state);
        adj.Add(node);
    }