@Override
    public void mouseClicked(MouseEvent e) {
        for (ClickableObject object : gpanel.getPuzzle().getObjectList()) {
            if ((mouseX(e) >= object.getX() && mouseX(e) <= object.getX() + object.getW()) && (mouseY(e) >= object.getY() && mouseY(e) <= object.getY() + object.getH())) {
                if (object.getClass().getName().equals("xmp.objects.SwappableObject")) {
                    manageSwappables((SwappableObject) object);
                    return;
                }
                if (object.getClass().getName().equals("xmp.objects.ActivateableObject")) {
                    manageActivateables((ActivateableObject) object);
                    return;
                }
                if (object.getClass().getName().equals("xmp.objects.StaticLinkedObject")) {
                    manageStatics((StaticLinkedObject) object);
                    return;
                }
            }
        }
    }