private void returnToInit(InteractionController iControl) { if (iControl != null) { iControl.ReleaseGrasp(); } // With new system does not need to be handled //gameObject.transform.localPosition = initLocalPos; //gameObject.transform.localRotation = initLocalRot; //if (aBehave.anchor != null) //{ aBehave.TryAttachToNearestAnchor(); //} }
private void onGraspEnd() { if (anchorControl.TryAttachToNearestAnchor()) { this.transform.parent = anchorControl.anchor.transform; } //float distanceToAnchor = Vector3.Distance(this.transform.position, anchor.transform.position); //if (distanceToAnchor < 0.3F && toolbelt.isOpen) { // _state = BuildingPrimitiveState.Anchored; // this.transform.parent = anchor.transform; //} //else { // _state = BuildingPrimitiveState.Placed; // this.transform.parent = null; //} }
private IEnumerator LateAttach(float time) { yield return new WaitForSeconds(time); bool wasVisible = anchor.gameObject.activeSelf; if (!wasVisible) { anchor.gameObject.SetActive(true); } var nearestValidAnchor = anchorableBehaviour.GetNearestValidAnchor(false); if (nearestValidAnchor != null) { transform.position = nearestValidAnchor.transform.position; anchorableBehaviour.TryAttachToNearestAnchor(); } if (!wasVisible) { anchor.gameObject.SetActive(false); } }