//todo: refactor this using a interaction interface public void Initialize(IInteractionListener listener, CalibratedObject calibratedObject, GameObject virtualVictoria) { _listener = listener; _calibratedObject = calibratedObject; _virtualVictoria = virtualVictoria; AddTrigger(_translateXPos, () => _calibratedObject.Translate(_translationSensitivity * Vector3.right)); AddTrigger(_translateXNeg, () => _calibratedObject.Translate(_translationSensitivity * Vector3.left)); AddTrigger(_translateYPos, () => _calibratedObject.Translate(_translationSensitivity * Vector3.up)); AddTrigger(_translateYNeg, () => _calibratedObject.Translate(_translationSensitivity * Vector3.down)); AddTrigger(_translateZPos, () => _calibratedObject.Translate(_translationSensitivity * Vector3.forward)); AddTrigger(_translateZNeg, () => _calibratedObject.Translate(_translationSensitivity * Vector3.back)); AddTrigger(_rotYPos, () => _calibratedObject.RotateY(_rotationSensitivity * 1f)); AddTrigger(_rotYNeg, () => _calibratedObject.RotateY(_rotationSensitivity * -1f)); AddTrigger(_scalePos, () => _calibratedObject.ScaleUniform(_scaleSensitivity * 1f)); AddTrigger(_scaleNeg, () => _calibratedObject.ScaleUniform(_scaleSensitivity * -1f)); AddTrigger(_reset, () => _calibratedObject.ResetCalibration()); AddTrigger(_showHitMesh, () => _virtualVictoria.gameObject.SetActive(true)); AddTrigger(_hideHitMesh, () => _virtualVictoria.gameObject.SetActive(false)); AddTrigger(_startAlpha, () => _listener.StartTourCommand(TourController.TourMode.Guided)); AddTrigger(_startBravo, () => _listener.StartTourCommand(TourController.TourMode.Unguided)); AddTrigger(_startCharlie, () => _listener.StartTourCommand(TourController.TourMode.Mixed)); }
/// <summary>Adds a listener for the interactions.</summary> /// <param name="il"> the listener object to Add</param> public virtual void AddInteractionListener(IInteractionListener il) { lock (interactionListeners) { interactionListeners.Add(il); } }
/// <summary>Removes a listener for the interactions.</summary> /// <param name="il"> the listener object to Remove</param> public virtual void RemoveInteractionListener(IInteractionListener il) { lock (interactionListeners) { interactionListeners.Remove(il); } }
public void Initialize(IInteractionListener listener, Camera camera) { _camera = camera; _interactionListener = listener; }
public void Init(IInteractionListener listener) { _interactionListener = listener; _playableDirector = GetComponent <PlayableDirector>(); SetState(State.Stopped); }