private void changeInventoryType() { switch (inventoryType) { case DragDrop: if (cursor != null) { if (cursor.getUserData("worldObject") != null) { InteractiveNode node = cursor.getUserData("worldObject"); main.getRootNode().attachChild(node); cursor.setUserData("worldObject", null); cursor.setTextureAtlasImage(objIcons, iconDefault); } for (ButtonAdapter slot : slots) { if (slot.getUserData("worldObject") != null) { InteractiveNode node = slot.getUserData("worldObject"); DragElement de = createNewDragElement(); de.setUserData("worldObject", node); de.setTextureAtlasImage(objIcons, node.getIcon()); String ttt = node.getToolTipText(); de.setToolTipText( ttt.substring(0, ttt.indexOf("\n")) + "\n\nDrop me back into\nthe world."); de.bindToDroppable(slot); de.setEffectZOrder(false); slot.setUserData("worldObject", null); slot.setButtonIcon(iconSize, iconSize, iconDefault); } } } break; case PointClick: for (ButtonAdapter slot : slots) { if (slot.getElementsAsMap().size() > 1) { for (Element el : slot.getElementsAsMap().values()) { if (el instanceof DragElement) { DragElement de = (DragElement) el; InteractiveNode n = de.getUserData("worldObject"); slot.setUserData("worldObject", n); slot.setButtonIcon(iconSize, iconSize, n.getIcon()); slot.removeChild(de); } } } } break; } }