//void Start() //{ // rootWidth = root.sizeDelta.x; //} void Update() { if (timer > uiRules.TT_appearTime) { SetActive(true); text.text = current.GetText(); RectTransform rect = current.GetRect(); if (rect) { SetPosition(rect); } else { ResetPosition(); } } else { SetActive(false); } PointerEventData pointer = new PointerEventData(EventSystem.current); pointer.position = Input.mousePosition; List <RaycastResult> raycastResults = new List <RaycastResult>(); EventSystem.current.RaycastAll(pointer, raycastResults); if (raycastResults.Count > 0) { foreach (RaycastResult go in raycastResults) { UI_TooltipSource src = go.gameObject.GetComponent <UI_TooltipSource>(); if (src) { if (src == current) { timer += Time.deltaTime; } else { timer = 0; tooltipAudio.pitch = 1 + RandomValue() * uiRules.TT_audioPitchVariance; tooltipAudio.Play(); current = src; } } } } // raycastResults else { timer = 0; current = null; } }