diff --git a/assets/plugins/plugin-tiled-0.0.2.jar b/assets/plugins/plugin-tiled-0.0.2.jar index 3828bad8..d00300d8 100644 Binary files a/assets/plugins/plugin-tiled-0.0.2.jar and b/assets/plugins/plugin-tiled-0.0.2.jar differ diff --git a/src/main/java/games/rednblack/editor/utils/TransformCommandBuilder.java b/hyperlap2d-common-api/src/main/java/games/rednblack/h2d/common/TransformCommandBuilder.java similarity index 90% rename from src/main/java/games/rednblack/editor/utils/TransformCommandBuilder.java rename to hyperlap2d-common-api/src/main/java/games/rednblack/h2d/common/TransformCommandBuilder.java index 0c12545f..05000f09 100644 --- a/src/main/java/games/rednblack/editor/utils/TransformCommandBuilder.java +++ b/hyperlap2d-common-api/src/main/java/games/rednblack/h2d/common/TransformCommandBuilder.java @@ -1,13 +1,12 @@ -package games.rednblack.editor.utils; +package games.rednblack.h2d.common; import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; -import games.rednblack.h2d.common.MsgAPI; -import games.rednblack.editor.HyperLap2DFacade; import games.rednblack.editor.renderer.components.DimensionsComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; +import org.puremvc.java.interfaces.IFacade; /** * Created by Osman on 01.08.2015. @@ -74,12 +73,12 @@ public class TransformCommandBuilder { setOrigin(2, x, y); } - public void execute() { + public void execute(IFacade facade) { // check if payload is worth sending Object[] newData = (Object[]) payload.get(2); for(Object o : newData) { if (o != null) { - HyperLap2DFacade.getInstance().sendNotification(MsgAPI.ACTION_ITEM_TRANSFORM_TO, payload); + facade.sendNotification(MsgAPI.ACTION_ITEM_TRANSFORM_TO, payload); return; } } diff --git a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java index eb4c4dbd..2cdf5494 100644 --- a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java +++ b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java @@ -11,6 +11,7 @@ import games.rednblack.editor.renderer.components.TextureRegionComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.data.ProjectInfoVO; import games.rednblack.editor.renderer.utils.ComponentRetriever; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.h2d.common.view.tools.Tool; import org.puremvc.java.interfaces.INotification; @@ -94,23 +95,19 @@ public class DrawTileTool implements Tool { // there is already other tile under this one if (textureRegionComponent.regionName.equals(tiledPlugin.getSelectedTileName())) { //rotate + TransformCommandBuilder commandBuilder = new TransformCommandBuilder(); + commandBuilder.begin(entity); TransformComponent transformComponent = ComponentRetriever.get(entity, TransformComponent.class); if (transformComponent.scaleX > 0 && transformComponent.scaleY > 0) { - transformComponent.scaleX *= -1f; - return; - } - if (transformComponent.scaleX < 0 && transformComponent.scaleY > 0) { - transformComponent.scaleY *= -1f; - return; - } - if (transformComponent.scaleX < 0 && transformComponent.scaleY < 0) { - transformComponent.scaleX *= -1f; - return; - } - if (transformComponent.scaleX > 0 && transformComponent.scaleY < 0) { - transformComponent.scaleY *= -1f; - return; + commandBuilder.setScale(transformComponent.scaleX * -1f, transformComponent.scaleY); + } else if (transformComponent.scaleX < 0 && transformComponent.scaleY > 0) { + commandBuilder.setScale(transformComponent.scaleX, transformComponent.scaleY * -1f); + } else if (transformComponent.scaleX < 0 && transformComponent.scaleY < 0) { + commandBuilder.setScale(transformComponent.scaleX * -1f, transformComponent.scaleY); + } else if (transformComponent.scaleX > 0 && transformComponent.scaleY < 0) { + commandBuilder.setScale(transformComponent.scaleX, transformComponent.scaleY * -1f); } + commandBuilder.execute(tiledPlugin.facade); } } } diff --git a/src/main/java/games/rednblack/editor/controller/commands/ChangeOriginPointPosition.java b/src/main/java/games/rednblack/editor/controller/commands/ChangeOriginPointPosition.java index 6583ab2a..26805f33 100644 --- a/src/main/java/games/rednblack/editor/controller/commands/ChangeOriginPointPosition.java +++ b/src/main/java/games/rednblack/editor/controller/commands/ChangeOriginPointPosition.java @@ -1,10 +1,11 @@ package games.rednblack.editor.controller.commands; import com.badlogic.ashley.core.Entity; +import games.rednblack.editor.HyperLap2DFacade; import games.rednblack.editor.controller.SandboxCommand; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.view.ui.validator.FloatInputValidator; import games.rednblack.h2d.common.view.ui.dialog.MultipleInputDialog; import games.rednblack.h2d.common.view.ui.listener.MultipleInputDialogListener; @@ -25,7 +26,7 @@ public class ChangeOriginPointPosition extends SandboxCommand { TransformCommandBuilder commandBuilder = new TransformCommandBuilder(); commandBuilder.begin(entity); commandBuilder.setOrigin(Float.parseFloat(input[0]), Float.parseFloat(input[1])); - commandBuilder.execute(); + commandBuilder.execute(HyperLap2DFacade.getInstance()); } @Override diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/TransformTool.java b/src/main/java/games/rednblack/editor/view/stage/tools/TransformTool.java index cb3bfaf6..eb67ff6a 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/TransformTool.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/TransformTool.java @@ -29,7 +29,7 @@ import games.rednblack.h2d.common.proxy.CursorManager; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.factory.EntityFactory; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.utils.runtime.EntityUtils; import games.rednblack.editor.view.stage.Sandbox; import games.rednblack.editor.view.ui.FollowersUIMediator; @@ -201,7 +201,7 @@ public class TransformTool extends SelectionTool implements FollowerTransformati return; } - commandBuilder.execute(); + commandBuilder.execute(HyperLap2DFacade.getInstance()); if (transformStrategy == compositeStrategy) { compositeStrategy.swapItemFinalAndInitialStates(follower.getEntity()); } diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/AbstractTransformStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/AbstractTransformStrategy.java index 5c9bef57..85e04e07 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/AbstractTransformStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/AbstractTransformStrategy.java @@ -1,13 +1,10 @@ package games.rednblack.editor.view.stage.tools.transformStrategy; -import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Pool; import games.rednblack.editor.renderer.components.TransformComponent; -import games.rednblack.editor.utils.TransformCommandBuilder; -import games.rednblack.editor.view.stage.Sandbox; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; /** diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/BasicStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/BasicStrategy.java index e3a03856..befc86be 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/BasicStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/BasicStrategy.java @@ -5,14 +5,10 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.math.Vector2; import games.rednblack.editor.renderer.components.DimensionsComponent; -import games.rednblack.editor.renderer.components.PolygonComponent; -import games.rednblack.editor.renderer.components.TextureRegionComponent; import games.rednblack.editor.renderer.components.TransformComponent; -import games.rednblack.editor.renderer.components.light.LightBodyComponent; -import games.rednblack.editor.renderer.components.physics.PhysicsBodyComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; import games.rednblack.editor.utils.RoundUtils; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.utils.runtime.EntityUtils; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ColorPrimitiveStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ColorPrimitiveStrategy.java index 943675ab..3d9f6c77 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ColorPrimitiveStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ColorPrimitiveStrategy.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.math.Vector2; import games.rednblack.editor.renderer.components.DimensionsComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; public class ColorPrimitiveStrategy extends AbstractTransformStrategy { diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/CompositeStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/CompositeStrategy.java index bbd0aab5..9ff49a64 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/CompositeStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/CompositeStrategy.java @@ -14,7 +14,7 @@ import games.rednblack.editor.renderer.components.DimensionsComponent; import games.rednblack.editor.renderer.components.NodeComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.utils.runtime.EntityUtils; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ITransformStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ITransformStrategy.java index 610d07c2..f202b097 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ITransformStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/ITransformStrategy.java @@ -2,7 +2,7 @@ package games.rednblack.editor.view.stage.tools.transformStrategy; import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.math.Vector2; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; /** * Created by Sasun Poghosyan on 4/13/2016. diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/LabelStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/LabelStrategy.java index b0370646..8ab1a768 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/LabelStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/LabelStrategy.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.math.Vector2; import games.rednblack.editor.renderer.components.DimensionsComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; public class LabelStrategy extends AbstractTransformStrategy { diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/NinePatchStrategy.java b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/NinePatchStrategy.java index 5e78640e..a0abf584 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/NinePatchStrategy.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/transformStrategy/NinePatchStrategy.java @@ -6,7 +6,7 @@ import games.rednblack.editor.renderer.components.DimensionsComponent; import games.rednblack.editor.renderer.components.NinePatchComponent; import games.rednblack.editor.renderer.components.TransformComponent; import games.rednblack.editor.renderer.utils.ComponentRetriever; -import games.rednblack.editor.utils.TransformCommandBuilder; +import games.rednblack.h2d.common.TransformCommandBuilder; import games.rednblack.editor.view.ui.followers.NormalSelectionFollower; /**