public override void Tick(Mat viewportMat, RECT viewportRect)
 {
     if (TryClickTutorialArrow(viewportMat, viewportRect))
     {
     }
     else if (CanMatchTemplate(viewportMat, viewportRect, STAGELINE_NEXT_TAG_MKEY))
     {
         var matchRes     = lastMatchResult;
         var rectRate     = GetMatchSourceRectRate(STAGELINE_NEXT_TAG_MKEY);
         var absoluteRect = matchRes.GetMatchedAbsoluteRect(viewportRect, rectRate);
         var pos          = absoluteRect.GetCenterPos();
         pos.Y = pos.Y + (int)(viewportRect.Height * 0.1400f);
         var emulatorPoint = mumuTools.GetEmulatorPoint(viewportRect, pos);
         mumuTools.DoClick(emulatorPoint);
     }
     else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CANCEL_MKEY))
     {
         logTools.Debug("StagelineBattle", "Try Click BTN_CANCEL");
     }
     else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CLOSE_MKEY))
     {
         logTools.Debug("StagelineBattle", "Try Click BTN_CLOSE");
     }
     else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CONFIRM_OK_MKEY))
     {
         logTools.Debug("StagelineBattle", "Try Click BTN_CONFIRM_OK_MKEY");
     }
     else if (battleSceneHandler(viewportMat, viewportRect))
     {
     }
     else if (defaultHandler(viewportMat, viewportRect))
     {
     }
     else
     {
         mumuTools.DoClick(new Vec2f(0.1f, 0.8f));
         //ClickTab(viewportRect, PCRTab.Battle);
         //Thread.Sleep(2000);
         //mumuTools.DoClick(new Vec2f(0.6273f, 0.3891f));//主线冒险
     }
 }
예제 #2
0
        public bool TryClickTemplateRect(Mat viewportMat, RECT viewportRect, string type, string imgName)
        {
            var matchResult = GetMatchTemplateResult(viewportMat, viewportRect, type, imgName);

            if (!matchResult.Success)
            {
                return(false);
            }
            var matchSourceRectRate = GetMatchSourceRectRate(type, imgName);
            var rectToViewport      = matchResult.GetMatchedAbsoluteRect(viewportRect, matchSourceRectRate);
            var centerPos           = rectToViewport.GetCenterPos();
            var emulatorPoint       = mumuTools.GetEmulatorPoint(viewportRect, centerPos);

            mumuTools.DoClick(emulatorPoint);
            return(true);
        }