Skip to content

Commit 0dce01e

Browse files
committed
More decoupling.
1 parent ef9e601 commit 0dce01e

File tree

4 files changed

+34
-23
lines changed

4 files changed

+34
-23
lines changed

ReClass.NET/Forms/InputCorrelatorForm.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Threading.Tasks;
66
using System.Windows.Forms;
77
using ReClassNET.Input;
8+
using ReClassNET.Memory;
89
using ReClassNET.MemoryScanner;
910
using ReClassNET.UI;
1011

@@ -15,17 +16,21 @@ public partial class InputCorrelatorForm : IconForm
1516
private static readonly TimeSpan refineInterval = TimeSpan.FromMilliseconds(400);
1617

1718
private readonly ScannerForm scannerForm;
19+
private readonly RemoteProcess process;
20+
1821
private readonly KeyboardInput input;
1922
private InputCorrelatedScanner scanner;
2023

2124
private bool isScanning = false;
2225
private DateTime lastRefineTime;
2326

24-
public InputCorrelatorForm(ScannerForm sf)
27+
public InputCorrelatorForm(ScannerForm scannerForm, RemoteProcess process)
2528
{
26-
Contract.Requires(sf != null);
29+
Contract.Requires(scannerForm != null);
30+
Contract.Requires(process != null);
2731

28-
scannerForm = sf;
32+
this.scannerForm = scannerForm;
33+
this.process = process;
2934

3035
InitializeComponent();
3136

@@ -122,7 +127,7 @@ private async void startStopButton_Click(object sender, EventArgs e)
122127
}
123128

124129
scanner = new InputCorrelatedScanner(
125-
Program.RemoteProcess,
130+
process,
126131
input,
127132
hotkeyListBox.Items.Cast<KeyboardHotkey>(),
128133
valueTypeComboBox.SelectedValue

ReClass.NET/Forms/MainForm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ private void memoryViewerToolStripMenuItem_Click(object sender, EventArgs e)
323323

324324
private void memorySearcherToolStripMenuItem_Click(object sender, EventArgs e)
325325
{
326-
new ScannerForm().Show();
326+
new ScannerForm(Program.RemoteProcess).Show();
327327
}
328328

329329
private void namedAddressesToolStripMenuItem_Click(object sender, EventArgs e)

ReClass.NET/Forms/ScannerForm.cs

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,21 @@ internal class ScanValueTypeComboBox : EnumComboBox<ScanValueType> { }
2727

2828
private const int MaxVisibleResults = 10000;
2929

30+
private readonly RemoteProcess process;
31+
3032
private bool isFirstScan;
3133

3234
private Scanner scanner;
3335
private CancellationTokenSource cts;
3436

3537
private string addressFilePath;
3638

37-
public ScannerForm()
39+
public ScannerForm(RemoteProcess process)
3840
{
41+
Contract.Requires(process != null);
42+
43+
this.process = process;
44+
3945
InitializeComponent();
4046

4147
toolStripPanel.Renderer = new CustomToolStripProfessionalRenderer(true, false);
@@ -47,10 +53,10 @@ public ScannerForm()
4753

4854
Reset();
4955

50-
firstScanButton.Enabled = flowLayoutPanel.Enabled = Program.RemoteProcess.IsValid;
56+
firstScanButton.Enabled = flowLayoutPanel.Enabled = process.IsValid;
5157

52-
Program.RemoteProcess.ProcessAttached += RemoteProcessOnProcessAttached;
53-
Program.RemoteProcess.ProcessClosing += RemoteProcessOnProcessClosing;
58+
process.ProcessAttached += RemoteProcessOnProcessAttached;
59+
process.ProcessClosing += RemoteProcessOnProcessClosing;
5460
}
5561

5662
protected override void OnLoad(EventArgs e)
@@ -85,8 +91,8 @@ private void RemoteProcessOnProcessAttached(RemoteProcess remoteProcess)
8591
{
8692
foreach (var record in addressListMemoryRecordList.Records)
8793
{
88-
record.ResolveAddress(Program.RemoteProcess);
89-
record.RefreshValue(Program.RemoteProcess);
94+
record.ResolveAddress(process);
95+
record.RefreshValue(process);
9096
}
9197
}
9298
}
@@ -103,14 +109,14 @@ private void MemorySearchForm_FormClosing(object sender, FormClosingEventArgs e)
103109
{
104110
scanner?.Dispose();
105111

106-
Program.RemoteProcess.ProcessAttached -= RemoteProcessOnProcessAttached;
107-
Program.RemoteProcess.ProcessClosing -= RemoteProcessOnProcessClosing;
112+
process.ProcessAttached -= RemoteProcessOnProcessAttached;
113+
process.ProcessClosing -= RemoteProcessOnProcessClosing;
108114
}
109115

110116
private void updateValuesTimer_Tick(object sender, EventArgs e)
111117
{
112-
resultMemoryRecordList.RefreshValues(Program.RemoteProcess);
113-
addressListMemoryRecordList.RefreshValues(Program.RemoteProcess);
118+
resultMemoryRecordList.RefreshValues(process);
119+
addressListMemoryRecordList.RefreshValues(process);
114120
}
115121

116122
private void scanTypeComboBox_SelectionChangeCommitted(object sender, EventArgs e)
@@ -147,7 +153,7 @@ private async void firstScanButton_Click(object sender, EventArgs e)
147153

148154
private async void nextScanButton_Click(object sender, EventArgs e)
149155
{
150-
if (!Program.RemoteProcess.IsValid)
156+
if (!process.IsValid)
151157
{
152158
return;
153159
}
@@ -245,8 +251,8 @@ private void openAddressFileToolStripButton_Click(object sender, EventArgs e)
245251
import.Load(ofd.FileName, Program.Logger)
246252
.Select(r =>
247253
{
248-
r.ResolveAddress(Program.RemoteProcess);
249-
r.RefreshValue(Program.RemoteProcess);
254+
r.ResolveAddress(process);
255+
r.RefreshValue(process);
250256
return r;
251257
})
252258
);
@@ -301,7 +307,7 @@ private void clearAddressListToolStripButton_Click(object sender, EventArgs e)
301307

302308
private void showInputCorrelatorIconButton_Click(object sender, EventArgs e)
303309
{
304-
new InputCorrelatorForm(this).Show();
310+
new InputCorrelatorForm(this, process).Show();
305311
}
306312

307313
private void resultListContextMenuStrip_Opening(object sender, CancelEventArgs e)
@@ -415,7 +421,7 @@ public void ShowScannerResults(Scanner scanner)
415421
.Select(r =>
416422
{
417423
var record = new MemoryRecord(r);
418-
record.ResolveAddress(Program.RemoteProcess);
424+
record.ResolveAddress(process);
419425
return record;
420426
})
421427
);
@@ -586,7 +592,7 @@ public void ExcuteScan(ScanSettings settings, IScanComparer comparer)
586592
/// <param name="comparer">The comparer.</param>
587593
private async Task StartFirstScanEx(ScanSettings settings, IScanComparer comparer)
588594
{
589-
if (!Program.RemoteProcess.IsValid)
595+
if (!process.IsValid)
590596
{
591597
return;
592598
}
@@ -596,7 +602,7 @@ private async Task StartFirstScanEx(ScanSettings settings, IScanComparer compare
596602

597603
try
598604
{
599-
scanner = new Scanner(Program.RemoteProcess, settings);
605+
scanner = new Scanner(process, settings);
600606

601607
var report = new Progress<int>(i =>
602608
{

ReClass.NET/UI/LinkedWindowFeatures.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public static void StartMemoryScan(IScanComparer comparer)
9292
}
9393
if (sf == null)
9494
{
95-
sf = new ScannerForm();
95+
sf = new ScannerForm(Program.RemoteProcess);
9696
sf.Show();
9797
}
9898

0 commit comments

Comments
 (0)