mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-05-17 09:26:50 +08:00
更新 Start 方法以接受 CancellationTokenSource 参数 这些更改主要是为了使 `Start` 方法能够接受 `CancellationTokenSource` 参数,从而更好地控制任务的取消操作。通过传递 `CancellationTokenSource`,可以在需要时取消正在运行的任务,提高了代码的灵活性和可控性。 具体更改包括: - 将 `Start` 方法的签名从无参数更改为接受 `CancellationTokenSource` 参数。 - 在多个任务类(如 `AutoDomainTask.cs`、`AutoFightTask.cs`、`AutoGeniusInvokationTask.cs`、`AutoMusicGameTask.cs`、`AutoWoodTask.cs`)中,更新 `Start` 方法以接受并使用传入的 `CancellationTokenSource`。 - 在 `Duel.cs` 中,更新 `RunAsync` 和 `Run` 方法的参数以接受 `CancellationTokenSource`,并将 `Cts` 赋值为传入的 `cts`。 - 在 `ISoloTask.cs` 接口中,更新 `Start` 方法的签名以接受 `CancellationTokenSource` 参数。 - 在 `TaskRunner.cs` 中,调用 `soloTask.Start` 时传入 `CancellationContext.Instance.Cts` 作为参数。
16 lines
428 B
C#
16 lines
428 B
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BetterGenshinImpact.GameTask.AutoGeniusInvokation;
|
|
|
|
public class AutoGeniusInvokationTask(GeniusInvokationTaskParam taskParam) : ISoloTask
|
|
{
|
|
public Task Start(CancellationTokenSource cts)
|
|
{
|
|
// 读取策略信息
|
|
var duel = ScriptParser.Parse(taskParam.StrategyContent);
|
|
duel.Run(cts);
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|