@Override public void screenTargetMoved( final ScreenTarget target, final int x, final int y, final int height) { if (this.m_useTargetPositionning) { final Point2i position = this.getComputedPosition(x, y, height); super.setPosition(position.getX(), position.getY(), false); } }
@Override protected void execute(final int screenX, final int screenY) { final AbstractBuildingDefinition buildingDefinition = BuildingDefinitionHelper.getFirstBuildingFor(this.m_havenCatalogEntry); final Point2i cell = this.m_worldEditor.getCellCoordFromMouse(screenX, screenY); final Point2i cellOffset = this.m_worldEditor .getHavenWorldImages() .getBuildingCellOffset(buildingDefinition.getEditorGroupId()); final int cellX = cell.getX() + cellOffset.getX(); final int cellY = cell.getY() + cellOffset.getY(); final InsertBuildingValidator validator = new InsertBuildingValidator( this.m_worldEditor.getWorkingHavenWorld(), ClientPartitionPatchLibrary.INSTANCE); final BuildingStruct info = new BuildingStruct( InsertBuilding.UID_GENERATOR, buildingDefinition.getId(), 0, (short) cellX, (short) cellY); validator.validate(info); final BuildingItem item = this.m_worldEditor.createBuilding(info); (this.m_modification = new AddBuildingModification(item)).addErrors(validator.getErrors()); }
/** * Add vector to a point: r = this + p. * * @param p the point * @return the result. * @see Point2i#add(Point2i, Vector2i) */ @Pure public Point2i operator_plus(Point2i p) { Point2i r = new Point2i(); r.add(p, this); return r; }
/** * Sets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2). * * @param t1 the first tuple * @param t2 the second tuple */ public void sub(Point2i t1, Point2i t2) { this.x = t1.getX() - t2.getX(); this.y = t1.getY() - t2.getY(); }