Exemple #1
0
    //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;
        }
    }