private void destroyView(ViewComponent viewComponent) { EntityView view = viewComponent.getView(); removeGameView(view, viewComponent.getRenderLayer()); } }
@Override public void onEntityRemoved(Entity entity) { destroyView(entity.getViewComponent()); EntityView debugView = debugPositions.get(entity); if (debugView != null) { debugView.translateXProperty().unbind(); debugView.translateYProperty().unbind(); removeGameView(debugView, RenderLayer.TOP); debugPositions.remove(entity); } }
private void addDebugListener() { FXGL.getSettings().getDevShowPosition().addListener((o, prev, show) -> { if (show) { forEach(FXGL.getApp().getGameWorld().getEntities(), e -> { addDebugView(e); }); } else { forEach(debugPositions, entry -> { EntityView view = entry.value; view.translateXProperty().unbind(); view.translateYProperty().unbind(); removeGameView(view, RenderLayer.TOP); }); debugPositions.clear(); } }); }