fix: a.onDisconnect(a) isn't called on components by microcontroller

This commit is contained in:
payonel 2018-10-31 02:43:35 -07:00
parent e85f3e1f83
commit d249367ee9

View File

@ -168,12 +168,12 @@ class Microcontroller extends traits.PowerAcceptor with traits.Hub with traits.C
if (node == plug.node) { if (node == plug.node) {
api.Network.joinNewNetwork(machine.node) api.Network.joinNewNetwork(machine.node)
machine.node.connect(snooperNode) machine.node.connect(snooperNode)
connectComponents()
} }
if (plug.isPrimary) if (plug.isPrimary)
plug.node.connect(componentNodes(plug.side.ordinal())) plug.node.connect(componentNodes(plug.side.ordinal()))
else else
componentNodes(plug.side.ordinal).remove() componentNodes(plug.side.ordinal).remove()
connectComponents()
} }
override protected def onPlugDisconnect(plug: Plug, node: Node) { override protected def onPlugDisconnect(plug: Plug, node: Node) {
@ -182,6 +182,8 @@ class Microcontroller extends traits.PowerAcceptor with traits.Hub with traits.C
plug.node.connect(componentNodes(plug.side.ordinal())) plug.node.connect(componentNodes(plug.side.ordinal()))
else else
componentNodes(plug.side.ordinal).remove() componentNodes(plug.side.ordinal).remove()
if (node == plug.node)
disconnectComponents()
} }
override protected def onPlugMessage(plug: Plug, message: Message): Unit = { override protected def onPlugMessage(plug: Plug, message: Message): Unit = {