70 lines
2.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|