Esempio n. 1
0
        public bool Raycast(Vector3 origin, Vector3 direction, out Uniject.RaycastHit hitinfo, float distance, int layerMask)
        {
            UnityEngine.RaycastHit unityHit = new UnityEngine.RaycastHit();
            bool result = UnityEngine.Physics.Raycast(origin, direction, out unityHit, distance, layerMask);

            if (result)
            {
                TestableGameObject    testable = null;
                UnityGameObjectBridge bridge   = unityHit.collider.gameObject.GetComponent <UnityGameObjectBridge>();
                if (null != bridge)
                {
                    testable = bridge.wrapping;
                }

                hitinfo = new RaycastHit(unityHit.point,
                                         unityHit.normal,
                                         unityHit.barycentricCoordinate,
                                         unityHit.distance,
                                         unityHit.triangleIndex,
                                         unityHit.textureCoord,
                                         unityHit.textureCoord2,
                                         unityHit.lightmapCoord,
                                         testable,
                                         unityHit.collider);
            }
            else
            {
                hitinfo = new RaycastHit();
            }

            return(result);
        }
Esempio n. 2
0
    public void OnCollisionEnter(Collision c)
    {
        UnityGameObjectBridge other = c.gameObject.GetComponent <UnityGameObjectBridge>();

        if (null != other)
        {
            Uniject.Collision testableCollision =
                new Uniject.Collision(c.relativeVelocity,
                                      other.wrapping.transform,
                                      other.wrapping,
                                      c.contacts);
            wrapping.OnCollisionEnter(testableCollision);
        }
    }
Esempio n. 3
0
 public UnityGameObject(GameObject obj) : base(new UnityTransform(obj))
 {
     this.obj         = obj;
     _bridge          = obj.AddComponent <UnityGameObjectBridge> ();
     _bridge.wrapping = this;
 }