/// <summary> /// This method will be called whenever a new VuMark is detected /// </summary> public void OnVuMarkDetected(VuMarkTarget target) { Debug.Log("New VuMark: " + GetVuMarkString(target)); var vuMarkId = GetVuMarkString(target); var vuMarkTitle = GetVuMarkDataType(target); var vuMarkImage = GetVuMarkImage(target); mCurrentVuMark = target; mIdPanel.Hide(); StartCoroutine(ShowPanel(vuMarkTitle, vuMarkId, vuMarkImage)); }
void UpdateClosestTarget() { Camera cam = DigitalEyewearBehaviour.Instance.PrimaryCamera ?? Camera.main; float closestDistance = Mathf.Infinity; foreach (var bhvr in mVuMarkManager.GetActiveBehaviours()) { Vector3 worldPosition = bhvr.transform.position; Vector3 camPosition = cam.transform.InverseTransformPoint(worldPosition); float distance = Vector3.Distance(Vector2.zero, camPosition); if (distance < closestDistance) { closestDistance = distance; mClosestVuMark = bhvr.VuMarkTarget; } } if (mClosestVuMark != null && mCurrentVuMark != mClosestVuMark) { var vuMarkId = GetVuMarkString(mClosestVuMark); var vuMarkTitle = GetVuMarkDataType(mClosestVuMark); var vuMarkImage = GetVuMarkImage(mClosestVuMark); mCurrentVuMark = mClosestVuMark; mIdPanel.Hide(); StartCoroutine(ShowPanelAfter(0.5f, vuMarkTitle, vuMarkId, vuMarkImage)); } }