private TaskResult Step1(TaskContext arg)
        {
            Role role = (Role)arg.Role;
            DmPlugin dm = role.Window.Dm;
            Delegater.WaitTrue(() => !role.HasMapOpen(), () => dm.MoveToClick(1222, 94));
            bool ret = Delegater.WaitTrue(() => role.HasBoardItem("酒馆"), () => role.ClickMenuItem("武将"), 3);
            if (ret)
            {
                var generals = new GeneralsService().Get("张梁", Quality.白色);
                ret = role.RecruitGenerals(generals);
            }

            dm.Delay(1000);
            return ret == true ? TaskResult.Success : Step1(arg);
        }
        private TaskResult Step1(TaskContext arg)
        {
            Role role = (Role)arg.Role;
            DmPlugin dm = role.Window.Dm;

            Delegater.WaitTrue(() => !role.HasMapOpen(), () => dm.MoveToClick(1222, 94));

            var generals = new GeneralsService().Get("张梁", Quality.白色);
            var ret = role.RecruitGenerals(generals);
            if (ret == true)
            {
                role.WearEquipment("张梁");
            }
            role.CloseBoard();

            return ret==true?TaskResult.Success:Step1(arg);
        }