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(); }