using Mir2Assistant.Common.Functions; using Mir2Assistant.Common.Models; using Mir2Assistant.Common.TabForms; using Mir2Assistant.Common.Utils; using System.Data; using System.Diagnostics; using System.Reflection; using System.Runtime.InteropServices; namespace Mir2Assistant { public partial class AssistantForm : Form { public MirGameInstanceModel? gameInstance { get; set; } private CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); public CharacterStatusModel CharacterStatus = new CharacterStatusModel(); public AssistantForm() { InitializeComponent(); } public AssistantForm(MirGameInstanceModel instance) { gameInstance = instance; InitializeComponent(); } private void AssistantForm_Load(object sender, EventArgs e) { gameInstance!.MemoryUtils = new MemoryUtils(gameInstance); var configPath = Path.Combine(Directory.GetCurrentDirectory(), "config", $"{gameInstance.mirVer}.ini"); if (!File.Exists(configPath)) { MessageBox.Show($"当前版本{gameInstance.mirVer},暂无该版本的配置文件"); return; } var cfgStr = File.ReadAllText(configPath, System.Text.Encoding.GetEncoding("gb2312")); foreach (var cfg in cfgStr.Split('\n')) { if (cfg?.Contains("=") ?? false) { gameInstance.MirConfig.Add(cfg.Split('=')[0].Trim(), Convert.ToInt32(cfg.Split('=')[1].Trim(), 16)); } } //加载tab页 string currentDirectory = Directory.GetCurrentDirectory(); string[] dllFiles = Directory.GetFiles(currentDirectory, "*.dll"); var tabForms = new List