Files
2026-02-21 16:45:37 +08:00

70 lines
2.0 KiB
C#

using UnityEngine;
namespace uNature.Core
{
public static class UNPhysics
{
private static UNPhysicsObject currentPObject;
private static RaycastHit rayHit;
private static Ray ray;
public static UNPhysicsHitsArray RaycastAll(Vector3 origin, Vector3 direction, float distance, int mask, float offset)
{
return null;
}
public static UNPhysicsHitsArray RaycastAll(Ray ray, float distance, int mask)
{
return RaycastAll(ray.origin, ray.direction, distance, mask, 0f);
}
public static UNPhysicsHitsArray RaycastAll(Ray ray, float distance, int mask, float offset)
{
return RaycastAll(ray.origin, ray.direction, distance, mask, offset);
}
public static bool Raycast(Vector3 origin, Vector3 direction, out UNPhysicsHit_Grass hit, float distance, int mask, float offset)
{
UNPhysicsHitsArray uNPhysicsHitsArray = RaycastAll(origin, direction, distance, mask, offset);
hit = default(UNPhysicsHit_Grass);
if (uNPhysicsHitsArray.Count <= 0)
{
return false;
}
uNPhysicsHitsArray.Sort();
hit = uNPhysicsHitsArray[0];
return true;
}
public static bool Raycast(Vector3 origin, Vector3 direction, out UNPhysicsHit_Grass hit, float distance, int mask)
{
UNPhysicsHitsArray uNPhysicsHitsArray = RaycastAll(origin, direction, distance, mask, 0f);
hit = default(UNPhysicsHit_Grass);
if (uNPhysicsHitsArray.Count <= 0)
{
return false;
}
uNPhysicsHitsArray.Sort();
hit = uNPhysicsHitsArray[0];
return true;
}
public static bool Raycast(Vector3 origin, Vector3 direction, out UNPhysicsHit_Grass hit, float distance)
{
return Raycast(origin, direction, out hit, distance, -1);
}
public static bool Raycast(Ray ray, out UNPhysicsHit_Grass hit, float distance, bool TakeUnityPhysicsIntoAccount, Transform target)
{
return Raycast(ray.origin, ray.direction, out hit, distance, -1);
}
public static bool Raycast(Ray ray, out UNPhysicsHit_Grass hit, float distance, int mask)
{
return Raycast(ray.origin, ray.direction, out hit, distance, mask);
}
}
}