mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-18 10:10:45 +08:00
rft: Wpf长草任务添加部分解耦
This commit is contained in:
@@ -2118,6 +2118,11 @@ namespace MaaWpfGui.Main
|
||||
return id != 0 && AsstStart();
|
||||
}
|
||||
|
||||
public bool AsstAppendTaskWithEncoding(TaskType wpfTasktype, (AsstTaskType Type, JObject? TaskParams) task)
|
||||
{
|
||||
return AsstAppendTaskWithEncoding(wpfTasktype, task.Type, task.TaskParams);
|
||||
}
|
||||
|
||||
public bool AsstAppendTaskWithEncoding(TaskType wpfTasktype, AsstTaskType type, JObject? taskParams = null)
|
||||
{
|
||||
taskParams ??= [];
|
||||
|
||||
@@ -26,10 +26,13 @@ using MaaWpfGui.Helper;
|
||||
using MaaWpfGui.States;
|
||||
using MaaWpfGui.ViewModels.UI;
|
||||
using MaaWpfGui.ViewModels.UserControl.Settings;
|
||||
using MaaWpfGui.ViewModels.UserControl.TaskQueue;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Serilog;
|
||||
using Stylet;
|
||||
using Windows.ApplicationModel;
|
||||
using static MaaWpfGui.Main.AsstProxy;
|
||||
|
||||
namespace MaaWpfGui.Services.RemoteControl
|
||||
{
|
||||
@@ -648,7 +651,7 @@ namespace MaaWpfGui.Services.RemoteControl
|
||||
break;
|
||||
|
||||
case "WakeUp":
|
||||
taskRet &= TaskQueueViewModel.AppendStart();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.StartUp, StartUpTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Combat":
|
||||
@@ -656,23 +659,23 @@ namespace MaaWpfGui.Services.RemoteControl
|
||||
break;
|
||||
|
||||
case "Recruiting":
|
||||
taskRet &= TaskQueueViewModel.AppendRecruit();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Recruit, RecruitSettingsUserControlModel.Instance.Serialize());
|
||||
break;
|
||||
|
||||
case "Mall":
|
||||
taskRet &= TaskQueueViewModel.AppendMall();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Mall, MallSettingsUserControlModel.Instance.Serialize());
|
||||
break;
|
||||
|
||||
case "Mission":
|
||||
taskRet &= TaskQueueViewModel.AppendAward();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Award, AwardSettingsUserControlModel.Instance.Serialize());
|
||||
break;
|
||||
|
||||
case "AutoRoguelike":
|
||||
taskRet &= TaskQueueViewModel.AppendRoguelike();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Roguelike, RoguelikeSettingsUserControlModel.Instance.Serialize());
|
||||
break;
|
||||
|
||||
case "Reclamation":
|
||||
taskRet &= TaskQueueViewModel.AppendReclamation();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Reclamation, ReclamationSettingsUserControlModel.Instance.Serialize());
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -19,7 +19,7 @@ using Stylet;
|
||||
|
||||
namespace MaaWpfGui.ViewModels;
|
||||
|
||||
public class TaskViewModel : PropertyChangedBase
|
||||
public abstract class TaskViewModel : PropertyChangedBase
|
||||
{
|
||||
public virtual void ProcSubTaskMsg(AsstMsg msg, JObject details)
|
||||
{
|
||||
@@ -29,8 +29,5 @@ public class TaskViewModel : PropertyChangedBase
|
||||
/// 序列化MAA任务
|
||||
/// </summary>
|
||||
/// <returns>返回(Asst任务类型, 参数)</returns>
|
||||
public virtual (AsstTaskType Type, JObject Params) Serialize()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public abstract (AsstTaskType Type, JObject Params) Serialize();
|
||||
}
|
||||
|
||||
@@ -1348,7 +1348,7 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
break;
|
||||
|
||||
case "WakeUp":
|
||||
taskRet &= AppendStart();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.StartUp, StartUpTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Combat":
|
||||
@@ -1356,23 +1356,23 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
break;
|
||||
|
||||
case "Recruiting":
|
||||
taskRet &= AppendRecruit();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Recruit, RecruitTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Mall":
|
||||
taskRet &= AppendMall();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Mall, MallTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Mission":
|
||||
taskRet &= AppendAward();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Award, AwardTask.Serialize());
|
||||
break;
|
||||
|
||||
case "AutoRoguelike":
|
||||
taskRet &= AppendRoguelike();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Roguelike, RoguelikeTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Reclamation":
|
||||
taskRet &= AppendReclamation();
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Reclamation, ReclamationTask.Serialize());
|
||||
break;
|
||||
|
||||
case "Custom":
|
||||
@@ -1560,8 +1560,7 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
}
|
||||
|
||||
bool taskRet = true;
|
||||
taskRet &= AppendStart();
|
||||
|
||||
taskRet &= Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.StartUp, StartUpTask.Serialize());
|
||||
taskRet &= Instances.AsstProxy.AsstStart();
|
||||
|
||||
if (taskRet)
|
||||
@@ -1576,12 +1575,6 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
}
|
||||
}
|
||||
|
||||
public static bool AppendStart()
|
||||
{
|
||||
var (type, param) = StartUpTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.StartUp, type, param);
|
||||
}
|
||||
|
||||
public bool AppendFight()
|
||||
{
|
||||
string curStage = FightTask.Stage;
|
||||
@@ -1701,38 +1694,7 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
return false;
|
||||
}
|
||||
|
||||
var (type, param) = InfrastTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Infrast, type, param);
|
||||
}
|
||||
|
||||
public static bool AppendMall()
|
||||
{
|
||||
var (type, param) = MallTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Mall, type, param);
|
||||
}
|
||||
|
||||
public static bool AppendAward()
|
||||
{
|
||||
var (type, param) = AwardTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Award, type, param);
|
||||
}
|
||||
|
||||
public static bool AppendRecruit()
|
||||
{
|
||||
var (type, param) = RecruitTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Recruit, type, param);
|
||||
}
|
||||
|
||||
public static bool AppendRoguelike()
|
||||
{
|
||||
var (type, param) = RoguelikeTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Roguelike, type, param);
|
||||
}
|
||||
|
||||
public static bool AppendReclamation()
|
||||
{
|
||||
var (type, param) = ReclamationTask.Serialize();
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Reclamation, type, param);
|
||||
return Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.Infrast, InfrastTask.Serialize());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user