55 lines
1.3 KiB
C#
55 lines
1.3 KiB
C#
using EFT;
|
|
using stupid.solutions.stupid.solutions.Data;
|
|
using UnityEngine;
|
|
|
|
internal class RayCast
|
|
{
|
|
private static readonly LayerMask LayerMask = -2142957568;
|
|
|
|
private static RaycastHit _raycastHit;
|
|
|
|
public static Vector3 BarrelRayCast(Player gamePlayer)
|
|
{
|
|
try
|
|
{
|
|
if (gamePlayer.Fireport == null)
|
|
{
|
|
return Vector3.zero;
|
|
}
|
|
Physics.Linecast(gamePlayer.Fireport.position, gamePlayer.Fireport.position - gamePlayer.Fireport.up * 1000f, out _raycastHit);
|
|
return _raycastHit.point;
|
|
}
|
|
catch
|
|
{
|
|
return Vector3.zero;
|
|
}
|
|
}
|
|
|
|
public static Vector3 BarrelRayCastO(OnlineGamePlayer gamePlayer)
|
|
{
|
|
try
|
|
{
|
|
_ = gamePlayer.Player.ObservedPlayerController.HandsController.CurrentFireport.position;
|
|
BifacialTransform currentFireport = gamePlayer.Player.ObservedPlayerController.HandsController.CurrentFireport;
|
|
Physics.Linecast(currentFireport.position, currentFireport.position - currentFireport.up * 1000f, out _raycastHit);
|
|
return _raycastHit.point;
|
|
}
|
|
catch
|
|
{
|
|
return Vector3.zero;
|
|
}
|
|
}
|
|
|
|
public static string BarrelRayCastTest(Player gamePlayer)
|
|
{
|
|
try
|
|
{
|
|
Physics.Linecast(gamePlayer.Fireport.position, gamePlayer.Fireport.position - gamePlayer.Fireport.up * 1000f, out _raycastHit);
|
|
return _raycastHit.transform.name;
|
|
}
|
|
catch
|
|
{
|
|
return "Unkown";
|
|
}
|
|
}
|
|
}
|