Use Transform command to rotate tiles
This commit is contained in:
Binary file not shown.
+4
-5
@@ -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;
|
||||
}
|
||||
}
|
||||
+11
-14
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -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
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
+1
-4
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
+1
-5
@@ -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;
|
||||
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
|
||||
+1
-1
@@ -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.
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user