Exemple #1
0
        // Token: 0x0600120D RID: 4621 RVA: 0x0006803C File Offset: 0x0006623C
        protected virtual void SnapObject(Collider collider)
        {
            PhotonObjectInteract photonObjectInteract = this.ValidSnapObject(collider.gameObject, false, true);

            if (this.willSnap && !this.isSnapped && photonObjectInteract != null && !photonObjectInteract.IsInSnapDropZone())
            {
                if (base.GetComponentInChildren <PhotonObjectInteract>())
                {
                    return;
                }
                if (base.transform.root.CompareTag("Player") && !this.view.isMine)
                {
                    return;
                }
                if (this.highlightObject != null)
                {
                    this.highlightObject.SetActive(false);
                }
                Vector3 newLocalScale = this.GetNewLocalScale(photonObjectInteract);
                if (this.transitionInPlace != null)
                {
                    base.StopCoroutine(this.transitionInPlace);
                }
                this.isSnapped            = true;
                this.currentSnappedObject = photonObjectInteract.gameObject;
                if (this.cloneNewOnUnsnap)
                {
                    this.CreatePermanentClone();
                }
                this.transitionInPlace = base.StartCoroutine(this.UpdateTransformDimensions(photonObjectInteract, this.highlightContainer, newLocalScale, this.snapDuration));
                photonObjectInteract.ToggleSnapDropZone(this, true);
            }
            this.isSnapped  = ((!this.isSnapped || !photonObjectInteract || !photonObjectInteract.IsGrabbed(null)) && this.isSnapped);
            this.wasSnapped = false;
        }
Exemple #2
0
 // Token: 0x060011F5 RID: 4597 RVA: 0x00067A18 File Offset: 0x00065C18
 public virtual void ForceUnsnap()
 {
     if (this.isSnapped && this.currentSnappedObject != null)
     {
         PhotonObjectInteract photonObjectInteract = this.ValidSnapObject(this.currentSnappedObject, false, true);
         if (photonObjectInteract != null)
         {
             photonObjectInteract.ToggleSnapDropZone(this, false);
         }
     }
 }