/** * @return Returns the position of the manager whose settings will be changed. */ @Override public ShortPoint2D getPosition() { return super.getPosition(); }
@Override public PointAction getSelectAction(ShortPoint2D position) { return new PointAction(EActionType.SET_WORK_AREA, position); } });
/** * @return Returns the position of the manager whose settings will be changed. */ @Override public ShortPoint2D getPosition() { return super.getPosition(); }
private Action handleSelectCommand(ShortPoint2D onMap) { long currentTime = System.currentTimeMillis(); if (currentTime - lastSelectPointTime < DOUBLE_CLICK_TIME && onMap.equals(lastSelectPointPos)) { lastSelectPointTime = 0; return new PointAction(EActionType.SELECT_POINT_TYPE, onMap); } else { lastSelectPointTime = currentTime; lastSelectPointPos = onMap; return new PointAction(EActionType.SELECT_POINT, onMap); } }
/** * This allows the current panel to catch actions that are executed. * * @param action * The action to catch. * @return The action to override with. May be <code>null</code> to cancel. */ public IAction catchAction(IAction action) { PointAction overrideAction; if (action.getActionType() == EActionType.SELECT_POINT && (overrideAction = getSelectAction(((PointAction) action).getPosition())) != null) { return overrideAction; } else { return action; } }
/** * Gets the action for a click on the minimap. * * @param relativex * The position on the minimap. * @param relativey * The position on the minimap. * @param selecting * <code>true</code> if it was a selection click and the view should move there. * @return the action for that point or <code>null</code> for no action. */ private Action getForMinimap(float relativex, float relativey, boolean selecting) { float minimapx = (relativex - layoutProperties.miniMap.MAP_LEFT) / layoutProperties.miniMap.MAP_WIDTH; float minimapy = ((relativey - layoutProperties.MAIN_PANEL_TOP) / (1 - layoutProperties.MAIN_PANEL_TOP) - layoutProperties.miniMap.MAP_BOTTOM) / layoutProperties.miniMap.MAP_HEIGHT; ShortPoint2D clickPosition = minimap.getClickPositionIfOnMap(minimapx, minimapy); if (clickPosition != null) { if (selecting) { return new PointAction(EActionType.PAN_TO, clickPosition); } else { return new PointAction(EActionType.MOVE_TO, clickPosition); } } else { return null; } }
@Override public void eventDataChanged(GOEvent event) { Action action = getActionForDraw((GODrawEvent) event); if (action != null && action.getActionType() == EActionType.PAN_TO) { minimap.getContext().scrollTo( ((PointAction) action).getPosition()); } }
private Action handleCommandOnMap(GOCommandEvent commandEvent, UIPoint position) { float x = (float) position.getX(); float y = (float) position.getY(); ShortPoint2D onMap = this.context.getPositionOnScreen(x, y); if (this.context.checkMapCoordinates(onMap.x, onMap.y)) { Action action; if (commandEvent.isSelecting()) { action = handleSelectCommand(onMap); } else { action = new PointAction(EActionType.MOVE_TO, onMap); } return action; } return null; }
private void handleSelectPointAction(PointAction action) { final ShortPoint2D pos = action.getPosition(); // only for debugging grid.positionClicked(pos.x, pos.y); // check what's to do final ISelectable selected = getSelectableAt(pos); if (selected != null) { setSelection(new SelectionSet(selected)); } else { setSelection(new SelectionSet()); } }
tool.start(mapData, shape, lineAction.getPosition()); tool.apply(mapData, shape, lineAction.getPosition(), lineAction.getPosition(), 0);
case PAN_TO: PointAction panAction = (PointAction) action; scrollTo(panAction.getPosition(), false); break; case SCREEN_CHANGE: moveToMarker = ((PointAction) action).getPosition(); moveToMarkerTime = System.currentTimeMillis(); break;
private void selectPointType(PointAction action) { final ShortPoint2D actionPosition = action.getPosition(); final IGuiMovable selectedMovable = getSelectableMovable(actionPosition.x, actionPosition.y).orElse(null); if (selectedMovable == null) { // nothing found at the location setSelection(new SelectionSet()); return; } EMovableType selectedType = selectedMovable.getMovableType(); byte selectedPlayerId = selectedMovable.getPlayer().getPlayerId(); Set<EMovableType> selectableTypes; if (selectedType.isSwordsman()) { selectableTypes = EMovableType.SWORDSMEN; } else if (selectedType.isPikeman()) { selectableTypes = EMovableType.PIKEMEN; } else if (selectedType.isBowman()) { selectableTypes = EMovableType.BOWMEN; } else { selectableTypes = EnumSet.of(selectedType); } final List<ISelectable> selected = new LinkedList<>(); MapCircle.stream(actionPosition, SELECT_BY_TYPE_RADIUS) .filterBounds(grid.getWidth(), grid.getHeight()) .forEach((x, y) -> { final IGuiMovable movable = grid.getMovable(x, y); if (movable != null && selectableTypes.contains(movable.getMovableType()) && selectedPlayerId == movable.getPlayer().getPlayerId()) { selected.add(movable); } }); setSelection(new SelectionSet(selected)); }
private void doAction(IAction action) { if (action instanceof PointAction) { PointAction sAction = (PointAction) action; ShortPoint2D pos = sAction.getPosition(); RelativePoint relative = absoluteToRelative(pos);
setDock(moveToAction.getPosition()); } else { setBuildingWorkArea(moveToAction.getPosition()); moveTo(moveToAction.getPosition()); setBuildingWorkArea(((PointAction) action).getPosition()); break;