public void HideTooltip(TooltipControllers controller, TooltipButtons button) { SetTooltip("", controller, button, false); }
private Transform GetButtonTransform(TooltipControllers controller, TooltipButtons button) { ControllerInteraction.ControllerElements findElement; TooltipTransformAdapterBase adapter = null; Transform returnedTransform = null; if (controller == TooltipControllers.Left) { adapter = _leftTooltipAdapter; } else if (controller == TooltipControllers.Right) { adapter = _rightTooltipAdapter; } if (!adapter) { return(null); } switch (button) { case TooltipButtons.Trigger: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.Trigger); break; case TooltipButtons.Grip: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.GripLeft); break; case TooltipButtons.Touchpad: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.Touchpad); break; case TooltipButtons.ButtonOne: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.ButtonOne); break; case TooltipButtons.ButtonTwo: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.ButtonTwo); break; case TooltipButtons.StartMenu: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.StartMenu); break; default: returnedTransform = adapter.GetButtonTransform(ControllerInteraction.ControllerElements.Touchpad); break; } return(returnedTransform); }
public void SetTooltip( string text, TooltipControllers controller, TooltipButtons button, bool buttonGlow, bool vibration = true) { StartCoroutine(TooltipCoroutine(text, controller, button, buttonGlow, vibration)); }
public Transform GetTooltipInstantiationTransform(TooltipControllers controller, TooltipButtons button) { Transform tooltipTransform; if (controller == TooltipControllers.Left) { tooltipTransform = LeftControllerEvents.transform.Find("TooltipPositions"); } else { tooltipTransform = RightControllerEvents.transform.Find("TooltipPositions"); } switch (button) { case TooltipButtons.Trigger: tooltipTransform = tooltipTransform.Find("Trigger"); break; case TooltipButtons.Grip: tooltipTransform = tooltipTransform.Find("Grip"); break; case TooltipButtons.Touchpad: tooltipTransform = tooltipTransform.Find("Touchpad"); break; case TooltipButtons.ButtonOne: tooltipTransform = tooltipTransform.Find("ButtonOne"); break; case TooltipButtons.ButtonTwo: tooltipTransform = tooltipTransform.Find("ButtonTwo"); break; case TooltipButtons.StartMenu: tooltipTransform = tooltipTransform.Find("StartMenu"); break; } return(tooltipTransform); }
private IEnumerator TooltipCoroutine( string text, TooltipControllers controller, TooltipButtons button, bool buttonGlow, bool vibration = true) { while (!UpdateTooltip(text, controller, button, buttonGlow, vibration)) { yield return(new WaitForEndOfFrame()); } }
public void Vibrate( TooltipControllers controller, float strength = 0.05f, float duration = 0.1f, float interval = 0.005f) { if (controller == TooltipControllers.Left || controller == TooltipControllers.Both) { var hand = InputAdapter.Instance.PlayerController.Nodes.LeftHand; hand.Controller.TriggerHapticPulse(strength, duration, interval); } if (controller == TooltipControllers.Right || controller == TooltipControllers.Both) { var hand = InputAdapter.Instance.PlayerController.Nodes.RightHand; hand.Controller.TriggerHapticPulse(strength, duration, interval); } }
private bool UpdateTooltip( string text, TooltipControllers controller, TooltipButtons button, bool buttonGlow, bool vibration = true) { if ((controller == TooltipControllers.Left && !_leftControllerReady) || (controller == TooltipControllers.Right && !_rightControllerReady)) { return(false); } GameObject tooltipObject; Tooltip tooltip; Transform buttonAttachTransform = null; HighlightEffect highlight = null; if ((controller == TooltipControllers.Left && !_tooltipObjectsLeft.ContainsKey(button)) || (controller == TooltipControllers.Right && !_tooltipObjectsRight.ContainsKey(button))) { buttonAttachTransform = GetButtonTransform(controller, button); if (buttonAttachTransform == null) { return(false); } tooltipObject = Instantiate(TooltipTemplate, GetTooltipInstantiationTransform(controller, button)); if (controller == TooltipControllers.Left) { _tooltipObjectsLeft.Add(button, tooltipObject); } else { _tooltipObjectsRight.Add(button, tooltipObject); } tooltip = InputAdapter.Instance.Tooltip.GetFromChildren(tooltipObject, true); tooltip.drawLineTo = buttonAttachTransform; buttonAttachTransform.parent.gameObject.AddComponent <HighlightEffect>(); highlight = buttonAttachTransform.GetComponentInParent <HighlightEffect>(); SetupHighlighter(ref highlight); highlight.enabled = false; } else { if (controller == TooltipControllers.Left) { tooltipObject = _tooltipObjectsLeft[button]; } else { tooltipObject = _tooltipObjectsRight[button]; } tooltip = InputAdapter.Instance.Tooltip.GetFromChildren(tooltipObject, true); } tooltip.displayText = text; tooltip.ResetTooltip(); if (highlight == null) { buttonAttachTransform = GetButtonTransform(controller, button); highlight = buttonAttachTransform.GetComponentInParent <HighlightEffect>(); if (highlight != null) { highlight.enabled = false; } } if (text.Trim().Length != 0 || buttonGlow) { tooltipObject.SetActive(true); if (highlight != null) { highlight.enabled = buttonGlow; } if (vibration) { Vibrate(controller); } } else { tooltipObject.SetActive(false); } return(true); }