@Override public IProgWidget getOutputWidget(IDroneBase drone, List<IProgWidget> allWidgets) { if (evaluator != null) { return ProgWidgetJump.jumpToLabel(allWidgets, this, evaluate(drone, this)); } else { Log.error("Shouldn't be happening! ProgWidgetCondition"); return super.getOutputWidget(drone, allWidgets); } }
@Override public IProgWidget getOutputWidget(IDroneBase drone, List<IProgWidget> allWidgets) { List<String> locations = getPossibleJumpLocations(); if (locations.size() > 0 && ai != null && (traversedPositions.size() == 1 || !aiManager.getCoordinate(elementVariable).equals(new ChunkPosition(0, 0, 0)))) { ChunkPosition pos = ai.getCurCoord(); if (pos != null) { aiManager.setCoordinate(elementVariable, pos); return ProgWidgetJump.jumpToLabel(allWidgets, locations.get(0)); } } traversedPositions.clear(); return super.getOutputWidget(drone, allWidgets); }