Files
better-genshin-impact/BetterGenshinImpact/ViewModel/Pages/ScriptControlViewModel.cs
辉鸭蛋 9980576083 edit ui
2024-07-28 12:34:25 +08:00

71 lines
2.2 KiB
C#

using BetterGenshinImpact.Core.Script;
using BetterGenshinImpact.Model;
using CommunityToolkit.Mvvm.ComponentModel;
using Microsoft.ClearScript;
using Microsoft.ClearScript.V8;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using BetterGenshinImpact.GameTask;
using BetterGenshinImpact.GameTask.Common.BgiVision;
using Wpf.Ui.Controls;
using BetterGenshinImpact.GameTask.Model.Enum;
using System;
namespace BetterGenshinImpact.ViewModel.Pages;
public partial class ScriptControlViewModel : ObservableObject, INavigationAware, IViewModel
{
[ObservableProperty]
private ObservableCollection<ScriptGroup> _scriptGroups = [];
public ScriptControlViewModel()
{
//using var runtime = new V8Runtime();
//using var engine1 = runtime.CreateScriptEngine();
//engine1.Compile("foo = { bar: 123 }");
//Debug.WriteLine(engine1.Script.foo);
// _scriptGroups 加入测试数据
for (int i = 0; i < 3; i++)
{
_scriptGroups.Add(new ScriptGroup { GroupName = $"测试组{i}" });
}
RunMulti();
}
public void OnNavigatedFrom()
{
}
public void OnNavigatedTo()
{
}
public void RunMulti()
{
// IScriptEngine engine = new V8ScriptEngine(V8ScriptEngineFlags.UseCaseInsensitiveMemberBinding | V8ScriptEngineFlags.EnableTaskPromiseConversion);
// EngineExtend.InitHost(engine);
// 执行脚本
// new TaskRunner(DispatcherTimerOperationEnum.UseCacheImage).FireAndForget(async () =>
// await new TpTask(CancellationContext.Instance.Cts)
// .Tp(3452.310059, 2290.465088));
// new TaskRunner(DispatcherTimerOperationEnum.UseCacheImage).FireAndForget(async () =>
// {
// await (Task)engine.Evaluate(@"
// (async function() {
// log.info('等待 {m} s', 1);
// await sleep(1000);
// log.info('测试 {name}', 'TP方法');
// await genshin.tp(3452.310059,2290.465088);
// log.warn('TP完成');
// await sleep(1000);
// })();
// ");
// });
}
}