public void ShowTooltipCorrectly()
        {
            // Arrange
            PointerEventData testEventData = new PointerEventData(null);

            testEventData.pointerEnter = new GameObject("_PointerEnterGO");
            RectTransform testRT = testEventData.pointerEnter.AddComponent <RectTransform>();

            tooltipController.changeAlphaCoroutine = null;

            // Act
            tooltipController.ShowTooltip(testEventData);

            // Assert
            tooltipController.view.Received(1).SetTooltipPosition(testRT.position - Vector3.up * testRT.rect.height);
            Assert.IsNotNull(tooltipController.changeAlphaCoroutine, "The changeAlphaCoroutine is null!");
        }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (hovering)
        {
            Vector2 movePos;

            RectTransformUtility.ScreenPointToLocalPointInRectangle(
                parentCanvas.transform as RectTransform,
                Input.mousePosition, parentCanvas.worldCamera,
                out movePos);

            Vector3 mousePos = parentCanvas.transform.TransformPoint(movePos);
            mousePos.x += tooltip.tooltipBackground.rect.width / 3.0f;
            mousePos.y -= tooltip.tooltipBackground.rect.height / 2.0f;

            tooltip.transform.position = mousePos;
        }
        else if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.GetComponent <ShipStats>() != null && hit.collider.GetComponent <ShipStats>() == attachedShip)
            {
                Vector2 movePos;

                RectTransformUtility.ScreenPointToLocalPointInRectangle(
                    parentCanvas.transform as RectTransform,
                    Input.mousePosition, parentCanvas.worldCamera,
                    out movePos);

                Vector3 mousePos = parentCanvas.transform.TransformPoint(movePos);
                mousePos.x += tooltip.tooltipBackground.rect.width / 3.0f;
                mousePos.y -= tooltip.tooltipBackground.rect.height / 2.0f;

                tooltip.transform.position = mousePos;

                tooltip.ShowTooltip(tooltipText, false);
            }
        }
        else if (tooltip.waitingForHover == false)
        {
            tooltip.HideTooltip(true);
        }
    }