Ejemplo n.º 1
0
        protected virtual bool ValidDestination()
        {
            if (destinationHit.collider == null)
            {
                return(false);
            }

            bool validNavMeshLocation = false;

            if (navMeshData != null)
            {
                if (destinationHit.transform != null)
                {
                    NavMeshHit hit;
                    validNavMeshLocation = NavMesh.SamplePosition(destinationHit.point, out hit, navMeshData.distanceLimit, navMeshData.validAreas);
                }
            }
            else
            {
                validNavMeshLocation = true;
            }

            if (teleporter)
            {
                validNavMeshLocation = teleporter.ValidLocation(destinationHit.collider.transform, destinationHit.point);
            }

            return(validNavMeshLocation && !(VRTK_PolicyList.Check(destinationHit.collider.gameObject, invalidListPolicy)));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// The Check method is used to check if a game object should be ignored based on a given string or policy list.
 /// </summary>
 /// <param name="obj">The game object to check.</param>
 /// <param name="list">The policy list to use for checking.</param>
 /// <returns>Returns true of the given game object matches the policy list or given string logic.</returns>
 public static bool Check(GameObject obj, VRTK_PolicyList list)
 {
     if (list)
     {
         return(list.Find(obj));
     }
     return(false);
 }
Ejemplo n.º 3
0
 protected virtual void StartCollision(GameObject target)
 {
     if (!VRTK_PolicyList.Check(target, targetListPolicy))
     {
         isColliding = true;
         if (!hasCollided && collideTimer <= 0f)
         {
             hasCollided  = true;
             collideTimer = rewindDelay;
         }
     }
 }
Ejemplo n.º 4
0
 protected virtual bool ValidDestination()
 {
     bool validNavMeshLocation = false;
     if (destinationHit.transform != null)
     {
         NavMeshHit hit;
         validNavMeshLocation = NavMesh.SamplePosition(destinationHit.point, out hit, navMeshCheckDistance, NavMesh.AllAreas);
     }
     if (navMeshCheckDistance == 0f)
     {
         validNavMeshLocation = true;
     }
     return (validNavMeshLocation && destinationHit.collider != null && !(VRTK_PolicyList.Check(destinationHit.collider.gameObject, invalidListPolicy)));
 }
        protected virtual bool ValidDestination()
        {
            bool validNavMeshLocation = false;

            if (destinationHit.transform)
            {
                UnityEngine.AI.NavMeshHit hit;
                validNavMeshLocation = UnityEngine.AI.NavMesh.SamplePosition(destinationHit.point, out hit, navMeshCheckDistance, UnityEngine.AI.NavMesh.AllAreas);
            }
            if (navMeshCheckDistance == 0f)
            {
                validNavMeshLocation = true;
            }
            return(validNavMeshLocation && destinationHit.transform && !(VRTK_PolicyList.Check(destinationHit.transform.gameObject, invalidListPolicy)));
        }
Ejemplo n.º 6
0
        // Token: 0x060018E4 RID: 6372 RVA: 0x00084BBC File Offset: 0x00082DBC
        protected virtual bool ValidDestination(Transform target, Vector3 destinationPosition)
        {
            bool flag = false;

            if (target)
            {
                NavMeshHit navMeshHit;
                flag = NavMesh.SamplePosition(destinationPosition, out navMeshHit, this.navMeshCheckDistance, -1);
            }
            if (this.navMeshCheckDistance == 0f)
            {
                flag = true;
            }
            return(flag && target && !VRTK_PolicyList.Check(target.gameObject, this.targetListPolicy));
        }
Ejemplo n.º 7
0
        protected virtual bool ValidDestination()
        {
            bool validNavMeshLocation = false;

            if (navMeshData != null)
            {
                if (destinationHit.transform != null)
                {
                    UnityEngine.AI.NavMeshHit hit;
                    validNavMeshLocation = UnityEngine.AI.NavMesh.SamplePosition(destinationHit.point, out hit, navMeshData.distanceLimit, navMeshData.validAreas);
                }
            }
            else
            {
                validNavMeshLocation = true;
            }
            return(validNavMeshLocation && destinationHit.collider != null && !(VRTK_PolicyList.Check(destinationHit.collider.gameObject, invalidListPolicy)));
        }
Ejemplo n.º 8
0
        // Token: 0x06001202 RID: 4610 RVA: 0x00067C08 File Offset: 0x00065E08
        protected virtual PhotonObjectInteract ValidSnapObject(GameObject checkObject, bool grabState, bool checkGrabState = true)
        {
            PhotonObjectInteract component = checkObject.GetComponent <PhotonObjectInteract>();

            if (component == null)
            {
                return(null);
            }
            if (VRTK_PolicyList.Check(component.gameObject, this.validObjectListPolicy))
            {
                return(null);
            }
            if (component.view == null)
            {
                return(null);
            }
            if (component.isFixedItem || !component.isProp)
            {
                return(null);
            }
            if (!this.isHeadCamDropZone && component.GetComponent <CCTV>() && component.GetComponent <CCTV>().isHeadCamera)
            {
                return(null);
            }
            if (component.GetComponent <Tripod>())
            {
                return(null);
            }
            if (component.isGrabbed != grabState)
            {
                return(null);
            }
            if (!component.view.isMine)
            {
                return(null);
            }
            return(component);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// The SetInvalidTarget method is used to set objects that contain the given tag or class matching the name as invalid destination targets. It accepts a VRTK_PolicyList for a custom level of policy management.
 /// </summary>
 /// <param name="list">The Tag Or Script list policy to check the set operation on.</param>
 public virtual void SetInvalidTarget(VRTK_PolicyList list = null)
 {
     invalidListPolicy = list;
 }
Ejemplo n.º 10
0
        private VRTK_InteractableObject ValidSnapObject(GameObject checkObject, bool grabState)
        {
            var ioCheck = checkObject.GetComponentInParent <VRTK_InteractableObject>();

            return(ioCheck && ioCheck.IsGrabbed() == grabState && !VRTK_PolicyList.Check(checkObject, validObjectListPolicy) ? ioCheck : null);
        }
Ejemplo n.º 11
0
 private bool ValidTarget(Transform target)
 {
     return(target && !(VRTK_PolicyList.Check(target.gameObject, targetListPolicy)));
 }
        }                                                                                                                                                           // 0x00000001817681D0-0x00000001817682C0

        public virtual void u091Du0929u0923u0926u091Fu0927u0923u0922u0926u0929u091D(VRTK_PolicyList u0920u0928u091Eu091Fu091Cu091Eu0924u091Du091Eu0922u091E = null)
        {
        }                                                                                                                                                                    // 0x0000000180249080-0x0000000180249090
		public virtual void InitalizePointer(VRTK_Pointer u091Cu0923u0923u0926u091Fu0922u0921u091Bu091Eu091Au0921, VRTK_PolicyList u0925u0921u091Fu0926u091Bu0927u091Au0922u091Fu0925u0920, float u091Cu0920u0921u0921u091Du091Cu0924u091Cu0928u0920u091D, bool u091Bu091Bu0921u091Du0923u091Bu0923u091Eu091Au091Eu091E) {} // 0x0000000180E09A30-0x0000000180E09BF0