返回提交历史
Modified
XFEExtension.NetCore.MemoryEditor/MemoryListener.cs
+22
-11
Modified
XFEExtension.NetCore.MemoryEditor/XFEExtension.NetCore.MemoryEditor.csproj
+2
-4
XFEstudio/XFEExtension.NetCore.MemoryEditor
fix-修复监听冲突时抛出异常的问题
64906cc
代码差异
2 个文件
+24
-15
@@ -34,15 +34,20 @@ public class MemoryListener : IDisposable
34
34
listeningList.Add(memoryAddress, true);
35
35
await Task.Run(() =>
36
36
{
37
var lastValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
37
var lastValue = default(T);
38
try { lastValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress); } catch { }
38
39
while (listeningList[memoryAddress] && IsListening)
39
40
{
40
var currentValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
41
if (!currentValue.Equals(lastValue))
41
try
42
42
{
43
ValueChanged?.Invoke(memoryAddress, new(lastValue, currentValue, customName));
44
lastValue = currentValue;
43
var currentValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
44
if (!currentValue.Equals(lastValue))
45
{
46
ValueChanged?.Invoke(memoryAddress, new(lastValue, currentValue, customName));
47
lastValue = currentValue;
48
}
45
49
}
50
catch { }
46
51
}
47
52
listeningList.Remove(memoryAddress);
48
53
});
@@ -61,16 +66,22 @@ public class MemoryListener : IDisposable
61
66
listeningList.Add(memoryAddress, true);
62
67
await Task.Run(() =>
63
68
{
64
var lastValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
69
var lastValue = default(T);
70
try { lastValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress); } catch { }
65
71
while (listeningList[memoryAddress] && IsListening)
66
72
{
67
var currentValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
68
if (!currentValue.Equals(lastValue))
73
try
69
74
{
70
ValueChanged?.Invoke(memoryAddress, new(lastValue, currentValue, customName));
71
currentValue = lastValue;
75
76
var currentValue = MemoryEditor.ReadMemory<T>(ProcessHandler, memoryAddress);
77
if (!currentValue.Equals(lastValue))
78
{
79
ValueChanged?.Invoke(memoryAddress, new(lastValue, currentValue, customName));
80
currentValue = lastValue;
81
}
82
Thread.Sleep(delay);
72
83
}
73
Thread.Sleep(delay);
84
catch { }
74
85
}
75
86
listeningList.Remove(memoryAddress);
76
87
});
@@ -13,15 +13,13 @@
13
13
<PackageReadmeFile>README.md</PackageReadmeFile>
14
14
<RepositoryUrl>https://github.com/XFEstudio/XFEExtension.NetCore.MemoryEditor.git</RepositoryUrl>
15
15
<PackageTags>XFE;XFEExtension;MemoryEdit;Memory</PackageTags>
16
<PackageReleaseNotes>fix-修复监听器地址不能正常传输的bug
17
add-现在监听器可以自定义监听器标识名了
18
</PackageReleaseNotes>
16
<PackageReleaseNotes>fix-修复监听冲突时抛出异常的问题</PackageReleaseNotes>
19
17
<Copyright>寰宇朽力网络科技版权所有</Copyright>
20
18
<PackageProjectUrl>https://github.com/XFEstudio/XFEExtension.NetCore.MemoryEditor.git</PackageProjectUrl>
21
19
<GenerateDocumentationFile>True</GenerateDocumentationFile>
22
20
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
23
21
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
24
<Version>1.3.0</Version>
22
<Version>1.3.1</Version>
25
23
</PropertyGroup>
26
24
27
25
<ItemGroup>