Fix physics preview in editor

This commit is contained in:
fgnm
2022-05-28 16:22:02 +02:00
parent 3763c9e593
commit d8c4fa98c7
@@ -3,9 +3,11 @@ package games.rednblack.editor.system;
import com.artemis.annotations.All;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;
import games.rednblack.editor.renderer.components.ParentNodeComponent;
import games.rednblack.editor.renderer.components.TransformComponent;
import games.rednblack.editor.renderer.components.physics.PhysicsBodyComponent;
import games.rednblack.editor.renderer.systems.PhysicsSystem;
import games.rednblack.editor.renderer.utils.TransformMathUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@All(PhysicsBodyComponent.class)
@@ -26,8 +28,16 @@ public class PhysicsAdjustSystem extends PhysicsSystem {
if(physicsBodyComponent.body == null) return;
transformVec.x = transformComponent.x + transformComponent.originX;
transformVec.y = transformComponent.y + transformComponent.originY;
transformVec.x = transformComponent.originX;
transformVec.y = transformComponent.originY;
int parentEntity = parentNodeComponentMapper.get(entity).parentEntity;
ParentNodeComponent rootParentNode = parentNodeComponentMapper.get(parentEntity);
if (rootParentNode != null) {
TransformMathUtils.localToSceneCoordinates(entity, transformVec, transformComponentMapper, parentNodeComponentMapper);
} else {
transformVec.x = transformComponent.x + transformComponent.originX;
transformVec.y = transformComponent.y + transformComponent.originY;
}
physicsBodyComponent.body.setTransform(transformVec, transformComponent.rotation * MathUtils.degreesToRadians);
}
}