예제 #1
0
        public static bool Raycast(ArkCrossEngine.Vector3 origin, ArkCrossEngine.Vector3 direction, out ArkCrossEngine.RaycastHit hitInfo, float distance, int layerMask)
        {
            CrossEngineImpl.RaycastHit uhit = new CrossEngineImpl.RaycastHit();
            bool castResult = CrossEngineImpl.Physics.Raycast(Helper.Vec3ToUnity(origin), Helper.Vec3ToUnity(direction), out uhit, distance, layerMask);

            hitInfo = Helper.RayCastHitFromUnity(uhit);
            return(castResult);
        }
예제 #2
0
        public static bool Linecast(ArkCrossEngine.Vector3 start, ArkCrossEngine.Vector3 end, out ArkCrossEngine.RaycastHit hitInfo, int layerMask)
        {
            CrossEngineImpl.RaycastHit uhit = new CrossEngineImpl.RaycastHit();
            bool castResult = CrossEngineImpl.Physics.Linecast(Helper.Vec3ToUnity(start), Helper.Vec3ToUnity(end), out uhit, layerMask);

            hitInfo = Helper.RayCastHitFromUnity(uhit);
            return(castResult);
        }
예제 #3
0
 public static Collider[] OverlapSphere(ArkCrossEngine.Vector3 position, float radius, int layerMask)
 {
     CrossEngineImpl.Collider[] unityColliders = CrossEngineImpl.Physics.OverlapSphere(Helper.Vec3ToUnity(position), radius, layerMask);
     return(ObjectFactory.Create <Collider>(unityColliders));
 }
예제 #4
0
 public ArkCrossEngine.CollisionFlags Move(ArkCrossEngine.Vector3 motion)
 {
     CrossEngineImpl.CollisionFlags flag = GetImpl <CrossEngineImpl.CharacterController>().Move(Helper.Vec3ToUnity(motion));
     return((ArkCrossEngine.CollisionFlags)(int) flag);
 }
예제 #5
0
 public float SampleHeight(ArkCrossEngine.Vector3 worldPosition)
 {
     return(GetImpl <CrossEngineImpl.Terrain>().SampleHeight(Helper.Vec3ToUnity(worldPosition)));
 }
예제 #6
0
 public void SetPosition(int index, ArkCrossEngine.Vector3 position)
 {
     GetImpl <CrossEngineImpl.LineRenderer>().SetPosition(index, Helper.Vec3ToUnity(position));
 }
예제 #7
0
 public ArkCrossEngine.Vector3 ClosestPointOnBounds(ArkCrossEngine.Vector3 position)
 {
     return(Helper.Vec3FromUnity(GetImpl <CrossEngineImpl.Collider>().ClosestPointOnBounds(Helper.Vec3ToUnity(position))));
 }
예제 #8
0
 public ArkCrossEngine.Ray ScreenPointToRay(ArkCrossEngine.Vector3 p)
 {
     return(Helper.RayFromUnity(GetImpl <CrossEngineImpl.Camera>().ScreenPointToRay(Helper.Vec3ToUnity(p))));
 }
예제 #9
0
 public void Rotate(ArkCrossEngine.Vector3 eulerAngles)
 {
     GetImpl <CrossEngineImpl.Transform>().Rotate(Helper.Vec3ToUnity(eulerAngles));
 }
예제 #10
0
 public ArkCrossEngine.Vector3 InverseTransformPoint(ArkCrossEngine.Vector3 position)
 {
     return(Helper.Vec3FromUnity(GetImpl <CrossEngineImpl.Transform>().InverseTransformPoint(Helper.Vec3ToUnity(position))));
 }
예제 #11
0
 public static CrossEngineImpl.Vector3 Vec3ToUnity(ArkCrossEngine.Vector3 v)
 {
     return(new CrossEngineImpl.Vector3(v.x, v.y, v.z));
 }
예제 #12
0
 public void AddForce(ArkCrossEngine.Vector3 force)
 {
     GetImpl <CrossEngineImpl.Rigidbody>().AddForce(Helper.Vec3ToUnity(force));
 }