goodTargets.add(target);
}
}
if (node instanceof DroppableX) {
DroppableX droppable = (DroppableX) node;
droppable.droppedOnTargets(goodTargets);
}
if (node instanceof Droppable) {
Droppable droppable = (Droppable) node;
WorldObject target = null;
for (WorldObject potentialTarget : goodTargets) {
if (droppable.acceptTarget(potentialTarget)) {
target = potentialTarget;
}
}
if (target == null) {
if (droppable.acceptTarget(worldLayer)) {
target = worldLayer;
}
}
if (target != null) {
Point2D position = target.globalToLocal(node.localToGlobal(new Point2D.Double(
0, 0)));
node.setOffset(position);
target.addChild(node);
droppable.justDropped();
}
}
}
}