public override void OnEnter(params object[] keys) { _face = null; MEventHub.Instance.AddListener(FaceRecEventId.FaceDetectResult, this); MEventHub.Instance.AddListener(FaceRecEventId.FaceSearchResult, this); if (_viewModel != null) { _viewModel.ScannerActive = true; _webCam?.Pause(); _webCam?.Snapshot((Texture2D tex) => { _viewModel.CamTexture = tex; }); } Task.CreateTask(SnapshotScreen((tex) => { Task.CreateTask(DelayHandleFace(tex)); MEventHub.Instance.Dispatch(FaceRecEventId.FaceDetectRequest, new FaceRecRequestArgs() { tex = tex }); })); }
/// <summary> /// 处理检测结果 /// </summary> private void HandleDetectResult(FaceDetectResultArgs args) { if (args.res != null && args.res.result != null && args.res.result.face_num > 0) { _face = args.res.result.face_list[0]; } }
public override void OnExit() { _face = null; MEventHub.Instance.RemoveListener(FaceRecEventId.FaceDetectResult, this); if (_viewModel != null) { _viewModel.ScannerActive = false; } }
public override void OnExit() { if (_fadeoutTween != null && _fadeoutTween.IsPlaying()) { _fadeoutTween.Kill(); } if (_viewModel != null) { _viewModel.RecActive = false; } _face = null; }
public override void OnEnter(params object[] keys) { _permit = false; if (keys != null && keys.Length > 1) { _face = keys[0] as Face; if (_face != null) { Vector2[] landmark = _face.landmark; if (landmark != null && landmark.Length >= 4) { if (_viewModel != null) { _viewModel.RecActive = true; _viewModel.RecPosition = new Vector2[] { ModifyPosY(landmark[1]), ModifyPosY(landmark[2]), ModifyPosY(landmark[3]) }; } } } Texture2D faceTex = keys[1] as Texture2D; if (faceTex != null) { MEventHub.Instance.Dispatch(FaceRecEventId.FaceSearchRequest, new FaceRecRequestArgs() { tex = faceTex }); } } Task.CreateTask(DelayTurnView()); }