private void SetDoor(Node node, Door door, RoomTag tagSelect, Door.STATE state) { if (node.RoomTags.HasFlag(tagSelect)) { door.SetState(state); } }
public Edge(Node n1, Node n2, Door.STATE state = Door.STATE.OPEN) { node0 = n1; node1 = n2; doorState = state; orientation = node1.location - node0.location; }
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); } }
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)); }
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); }