/// <summary> /// The ValidLocation method determines if the given target is a location that can be teleported to /// </summary> /// <param name="target">The Transform that the destination marker is touching.</param> /// <param name="destinationPosition">The position in world space that is the destination.</param> /// <returns>Returns `true` if the target is a valid location.</returns> public virtual bool ValidLocation(Transform target, Vector3 destinationPosition) { //If the target is one of the player objects or a UI Canvas then it's never a valid location if (VRTK_PlayerObject.IsPlayerObject(target.gameObject) || target.GetComponent <VRTK_UIGraphicRaycaster>()) { return(false); } bool validNavMeshLocation = false; if (navMeshData != null) { if (target != null) { NavMeshHit hit; validNavMeshLocation = NavMesh.SamplePosition(destinationPosition, out hit, navMeshData.distanceLimit, navMeshData.validAreas); } } else { validNavMeshLocation = true; } return(validNavMeshLocation && target != null && !(VRTK_PolicyList.Check(target.gameObject, targetListPolicy))); }
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))); }
protected virtual void StartCollision(GameObject target) { if (!VRTK_PolicyList.Check(target, targetListPolicy)) { isColliding = true; if (!hasCollided && collideTimer <= 0f) { hasCollided = true; collideTimer = rewindDelay; } } }
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))); }
// Token: 0x06001895 RID: 6293 RVA: 0x000829E0 File Offset: 0x00080BE0 protected virtual bool ValidDestination() { bool flag = false; if (this.destinationHit.transform != null) { NavMeshHit navMeshHit; flag = NavMesh.SamplePosition(this.destinationHit.point, out navMeshHit, this.navMeshCheckDistance, -1); } if (this.navMeshCheckDistance == 0f) { flag = true; } return(flag && this.destinationHit.collider != null && !VRTK_PolicyList.Check(this.destinationHit.collider.gameObject, this.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))); }
protected virtual bool ValidDestination(Transform target, Vector3 destinationPosition) { bool validNavMeshLocation = false; if (target) { NavMeshHit hit; validNavMeshLocation = NavMesh.SamplePosition(destinationPosition, out hit, navMeshCheckDistance, NavMesh.AllAreas); } if (navMeshCheckDistance == 0f) { validNavMeshLocation = true; } return(validNavMeshLocation && target && !(VRTK_PolicyList.Check(target.gameObject, invalidListPolicy))); }
// 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)); }
// Token: 0x06001A85 RID: 6789 RVA: 0x0008BF7C File Offset: 0x0008A17C protected virtual void StartCollision(GameObject target, Collider collider) { if (this.ignoreTriggerColliders && collider.isTrigger) { return; } if (!VRTK_PolicyList.Check(target, this.targetListPolicy)) { this.isColliding = true; if (!this.hasCollided && this.collideTimer <= 0f) { this.hasCollided = true; this.collideTimer = this.rewindDelay; } } }
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))); }
// 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); }
// Token: 0x06001943 RID: 6467 RVA: 0x00086E0A File Offset: 0x0008500A protected virtual bool ValidTarget(Collider collider) { return(!VRTK_PlayerObject.IsPlayerObject(collider.gameObject, VRTK_PlayerObject.ObjectTypes.Null) && !VRTK_PolicyList.Check(collider.gameObject, this.targetListPolicy)); }
protected virtual bool ValidTarget(Transform target) { return(target != null && !(VRTK_PolicyList.Check(target.gameObject, targetListPolicy))); }
protected virtual bool ValidSnapObject(VRTK_InteractableObject interactableObjectCheck, bool grabState, bool checkGrabState = true) { return(interactableObjectCheck != null && (!checkGrabState || interactableObjectCheck.IsGrabbed() == grabState) && !VRTK_PolicyList.Check(interactableObjectCheck.gameObject, validObjectListPolicy)); }
protected virtual VRTK_InteractableObject ValidSnapObject(GameObject checkObject, bool grabState, bool checkGrabState = true) { if (cachedCheckObject == null || checkObject != cachedCheckObject.gameObject) { cachedCheckObject = checkObject.GetComponentInParent <VRTK_InteractableObject>(); } return(cachedCheckObject != null && (!checkGrabState || cachedCheckObject.IsGrabbed() == grabState) && !VRTK_PolicyList.Check(cachedCheckObject.gameObject, validObjectListPolicy) ? cachedCheckObject : null); }
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); }
// Token: 0x0600179A RID: 6042 RVA: 0x0007E4D0 File Offset: 0x0007C6D0 public virtual bool ValidLocation(Transform target, Vector3 destinationPosition) { return(!VRTK_PlayerObject.IsPlayerObject(target.gameObject, VRTK_PlayerObject.ObjectTypes.Null) && !target.GetComponent <VRTK_UIGraphicRaycaster>() && !Physics.Linecast(this.player.headObject.transform.position, destinationPosition + new Vector3(0f, 0.2f, 0f), this.player.mainLayerMask, QueryTriggerInteraction.Ignore) && target != null && !VRTK_PolicyList.Check(target.gameObject, this.targetListPolicy)); }
private bool ValidTarget(Transform target) { return(target && !(VRTK_PolicyList.Check(target.gameObject, targetListPolicy))); }
protected virtual bool ValidTarget(Collider collider) { return(!VRTK_PlayerObject.IsPlayerObject(collider.gameObject) && !(VRTK_PolicyList.Check(collider.gameObject, targetListPolicy))); }
protected virtual VRTK_InteractableObject ValidSnapObject(GameObject checkObject, bool grabState, bool checkGrabState = true) { var ioCheck = checkObject.GetComponentInParent <VRTK_InteractableObject>(); return(ioCheck != null && (!checkGrabState || ioCheck.IsGrabbed() == grabState) && !VRTK_PolicyList.Check(ioCheck.gameObject, validObjectListPolicy) ? ioCheck : null); }