示例#1
0
    public void RefreshMask()
    {
        Vector3 targetPos = m_targetCamera.WorldToScreenPoint(currentTarget.position);
        Vector2 targetLocal;

        RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, targetPos, m_camera, out targetLocal);
        currentShowTarget.anchoredPosition3D = new Vector3(targetLocal.x, targetLocal.y, 100);

        Mask.gameObject.SetActive(true);

        Material material;

        if (currentInfo.GuidanceType == 1)
        {
            material        = RectMaterial;
            currentGuidance = rectGuidanceController;
        }
        else
        {
            material        = CircleMaterial;
            currentGuidance = circleGuidanceController;
        }
        Mask.material = material;
        currentGuidance.SetCamera(m_targetCamera);
        currentGuidance.SetMaterial(Mask.material);
        currentGuidance.SetCanvas(canvas);
        currentGuidance.SetTarget(m_newbieGuideData[index].highlightArea);
        currentGuidance.RefreshMask();
    }