fix: correctly detecting items horizontally in front of player

This commit is contained in:
2025-05-22 17:55:48 +02:00
parent a926840570
commit b340fe21c7
3 changed files with 16 additions and 6 deletions

View File

@ -5,19 +5,28 @@ namespace PolarBears.PlayerControllerAddon;
public partial class MantleSystem: Node3D
{
private RayCast3D _wallInFrontRaycast3D;
private Node3D _head;
public void Init(RayCast3D wallInFrontRaycast3D)
public void Init(RayCast3D wallInFrontRaycast3D, Node3D head)
{
_wallInFrontRaycast3D = wallInFrontRaycast3D;
_head = head;
}
public void CheckWallInFront()
{
_wallInFrontRaycast3D.SetRotation(new Vector3(
_wallInFrontRaycast3D.Rotation.X,
_head.Rotation.Y,
_wallInFrontRaycast3D.Rotation.Z));
var collider = _wallInFrontRaycast3D.GetCollider();
if (collider != null)
if (collider == null)
{
GD.Print(_wallInFrontRaycast3D.GetCollisionPoint());
GD.Print(_wallInFrontRaycast3D.GetCollisionNormal());
return;
}
GD.Print(_wallInFrontRaycast3D.GetCollisionPoint());
GD.Print(_wallInFrontRaycast3D.GetCollisionNormal());
}
}