Skip to content

Commit ca6bc98

Browse files
authored
Merge pull request #117 from DeveloperAcademy-POSTECH/fix/#99
[#99] κ°„μ„  μ‚­μ œ μ‹œ inputPoint isLinked μˆ˜μ • μ•ˆλ˜λŠ” 버그 μˆ˜μ •
2 parents 7982310 + 6d6f398 commit ca6bc98

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

β€ŽLabDuck/Model/KPBoard.swiftβ€Ž

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ struct KPBoard: Identifiable {
5151
self.edges.removeAll { edge in
5252
edge.id == edgeID
5353
}
54+
self.checkIsLinked()
55+
}
56+
57+
public mutating func checkIsLinked() {
58+
self.nodes.enumerated().forEach { index, node in
59+
node.inputPoints.enumerated().forEach { inputPointIndex, inputPoint in
60+
if self.edges.contains(where: { $0.sinkID == inputPoint.id }) {
61+
self.nodes[index].inputPoints[inputPointIndex].isLinked = true
62+
} else {
63+
self.nodes[index].inputPoints[inputPointIndex].isLinked = false
64+
}
65+
}
66+
}
5467
}
5568

5669
public mutating func addNode(_ node: KPNode) {

β€ŽLabDuck/Model/KPBoardDocument.swiftβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,19 +300,19 @@ extension KPBoardDocument {
300300

301301
withAnimation {
302302
self.board.removeEdge(edgeID)
303+
self.board.checkIsLinked()
303304
}
304305

305306
undoManager?.registerUndo(withTarget: self) { doc in
306307
doc.replaceEdges(oldEdges, undoManager: undoManager)
307-
308-
309308
}
310309
}
311310

312311
func replaceEdges(_ edges: [KPEdge], undoManager: UndoManager?, animation: Animation? = .default) {
313312
let oldEdges = self.board.edges
314313

315314
self.board.edges = edges
315+
self.board.checkIsLinked()
316316

317317
undoManager?.registerUndo(withTarget: self) { doc in
318318
doc.replaceEdges(oldEdges, undoManager: undoManager, animation: animation)

0 commit comments

Comments
Β (0)