From 1718bd75864d90307d900e3beb7bca1996ca63ca Mon Sep 17 00:00:00 2001 From: Pasha Bibko Date: Wed, 2 Apr 2025 14:47:27 +0100 Subject: [PATCH] Started implementation of portal teleporting --- Assets/Scripts/Player/PlayerCollisions.cs | 4 ++-- Assets/Scripts/Portals/PortalManager.cs | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Assets/Scripts/Player/PlayerCollisions.cs b/Assets/Scripts/Player/PlayerCollisions.cs index a3a07e4..69f58d1 100644 --- a/Assets/Scripts/Player/PlayerCollisions.cs +++ b/Assets/Scripts/Player/PlayerCollisions.cs @@ -5,9 +5,9 @@ public partial class PlayerMovement : MonoBehaviour private void OnTriggerStay(Collider other) { // Stops it trying to find the normals of portals - // if (other.CompareTag("Portal")) { return; } + if (other.CompareTag("Portal")) { return; } // Else adds it to the list - // m_WallCollisions.Add(other); + m_WallCollisions.Add(other); } } diff --git a/Assets/Scripts/Portals/PortalManager.cs b/Assets/Scripts/Portals/PortalManager.cs index ff4bead..6a4fd44 100644 --- a/Assets/Scripts/Portals/PortalManager.cs +++ b/Assets/Scripts/Portals/PortalManager.cs @@ -57,8 +57,10 @@ public class PortalManager : MonoBehaviour Vector3 difference = PlayerMovement.Pos() - transform.position; float dotProduct = Vector3.Dot(transform.up, difference); + Debug.Log(dotProduct + "\t" + difference); + // If this is true the player has crossed the portal - if (dotProduct < 0f || true) + if (dotProduct < 0f) { Debug.Log("Teleported player"); @@ -69,16 +71,11 @@ public class PortalManager : MonoBehaviour // Teleports the player Vector3 offset = Quaternion.Euler(0f, rotDif, 0f) * difference; - PlayerMovement.SetPos(m_OtherManager.transform.position + offset); + PlayerMovement.SetPos(m_OtherManager.transform.position + PlayerOffset() - new Vector3(0, 2, 0)); // Stops the overlapping as it has ended m_PlayerOverlapping = false; } - - else - { - Debug.Log("Player was not teleported"); - } } }