Fixed wrong machine connection logic, fixes #318

This commit is contained in:
Raoul Van den Berge
2016-09-10 16:45:21 +02:00
parent e2381a68c7
commit b5dcd3233f
2 changed files with 10 additions and 7 deletions

View File

@@ -107,19 +107,23 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
}
}
List<INetworkNode> oldNodes = new ArrayList<>(nodes);
this.nodes = newNodes;
boolean changed = false;
if (notify) {
for (INetworkNode newNode : newNodes) {
if (!nodes.contains(newNode)) {
newNode.onConnected(controller);
for (INetworkNode node : nodes) {
if (!oldNodes.contains(node)) {
node.onConnected(controller);
changed = true;
}
}
for (INetworkNode oldNode : nodes) {
if (!newNodes.contains(oldNode)) {
for (INetworkNode oldNode : oldNodes) {
if (!nodes.contains(oldNode)) {
oldNode.onDisconnected(controller);
changed = true;
@@ -127,8 +131,6 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
}
}
this.nodes = newNodes;
if (changed) {
controller.getDataManager().sendParameterToWatchers(TileController.NODES);
}