From b73eae787c4e52991b2a0cb238570fe9287ef78e Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 7 May 2023 08:13:41 -0400 Subject: [PATCH] Rotation portals --- src/engine/objects/Portal.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/engine/objects/Portal.java b/src/engine/objects/Portal.java index 666d0d2d..78e382c3 100644 --- a/src/engine/objects/Portal.java +++ b/src/engine/objects/Portal.java @@ -26,13 +26,20 @@ public class Portal { private long lastActive = 0; public Portal(Building sourceGate, PortalType portalType, Building targetGate) { + Vector3fImmutable tmpLocation; this.active = false; this.sourceGate = sourceGate; this.targetGate = targetGate; this.portalType = portalType; - this.portalLocation = sourceGate.getLoc().add(new Vector3fImmutable(portalType.offset.x, 6, portalType.offset.y)); + tmpLocation = sourceGate.getLoc().add(new Vector3fImmutable(portalType.offset.x, 6, portalType.offset.y)); + + // Rotate portal by gate rotation + + tmpLocation = Vector3fImmutable.rotateAroundPoint(sourceGate.getLoc(), tmpLocation, sourceGate.getBounds().getQuaternion().angleY); + + this.portalLocation = tmpLocation; } public boolean isActive() {