Files
HyperLap2D/src/main/java/games/rednblack/editor/system/PhysicsAdjustSystem.java
T
fgnm 8adf63dff9 Move Editor to Artemis-based runtime:
* Epic artemis switch!
* Update to 0.0.8-SNAPSHOT
2021-08-07 18:07:09 +02:00

34 lines
1.2 KiB
Java

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.TransformComponent;
import games.rednblack.editor.renderer.components.physics.PhysicsBodyComponent;
import games.rednblack.editor.renderer.systems.PhysicsSystem;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@All(PhysicsBodyComponent.class)
public class PhysicsAdjustSystem extends PhysicsSystem {
private final Vector2 transformVec = new Vector2();
public PhysicsAdjustSystem() {
setPhysicsOn(false);
}
@Override
protected void process(int entity) {
TransformComponent transformComponent = transformComponentMapper.get(entity);
processBody(entity);
PhysicsBodyComponent physicsBodyComponent = SandboxComponentRetriever.get(entity, PhysicsBodyComponent.class);
if(physicsBodyComponent.body == null) return;
transformVec.x = transformComponent.x + transformComponent.originX;
transformVec.y = transformComponent.y + transformComponent.originY;
physicsBodyComponent.body.setTransform(transformVec, transformComponent.rotation * MathUtils.degreesToRadians);
}
}