public override void Intialize(GuideSequence guideSequence, int index) { base.Intialize(guideSequence, index); _torquable = GetComponent <Torquable>(); _torquable.enabled = false; _torquable.TorqueCompleted.AddListener(Torqued); if (_torquable.TorquableBy.Count > 0) { _torquable.TorquableBy[0].MovementInteraction.Events.ButtonDown.AddListener(ButtonDown); _torquable.TorquableBy[0].MovementInteraction.Events.ButtonUp.AddListener(ButtonUp); if (null != _highlightMaterial) { _highlightMaterial = new Material(_highlightMaterial); _toolMeshFilters = _torquable.TorquableBy[0].MovementInteraction.GetComponentsInChildren <MeshFilter>(); } } if (null != _toolGuideVisual) { _toolGuideVisual.gameObject.SetActive(false); } if (null != _torqueGuideVisual) { _torqueGuideVisual.gameObject.SetActive(false); } Debug.Log(name + " " + _torqueGuideVisual); }
private void PhysicsVolumeOnEntered(Collider collider) { Torquable torquable = collider.GetComponent <Torquable>(); if (null != torquable && torquable.CanBeTorquedBy(this)) { _entered.Add(torquable); if (_entered.Count == 1) { _priorAngle = AngleOfTorquing(); MovementInteraction.SetOverrideDampTarget(_auxTransform); MovementInteraction.MoveDamp = 0; MovementInteraction.RotationDamp = 0; _audioSource.PlayOneShot(_attachSound); MovementInteraction.HeldButtons[0].ParentInteractor.ParentUserController.FireHapticKey("Enter"); } } }
private void PhysicsVolumeOnExited(Collider collider) { Torquable torquable = collider.GetComponent <Torquable>(); if (null != torquable && _entered.Contains(torquable)) { _entered.Remove(torquable); if (torquable.Torqued) { torquable.enabled = false; } if (_entered.Count == 0) { MovementInteraction.ClearOverrideDampTarget(); MovementInteraction.MoveDamp = _initialMoveDamp; MovementInteraction.RotationDamp = _initialRotationDamp; _audioSource.PlayOneShot(_releaseSound); MovementInteraction.HeldButtons[0].ParentInteractor.ParentUserController.FireHapticKey("Exit"); } } }