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);
        }
예제 #2
0
        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");
                }
            }
        }
예제 #3
0
        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");
                }
            }
        }