Skip to content

Commit 73fe4ff

Browse files
committed
feat: now inherits from MemoryFunction*
1 parent 679ce6c commit 73fe4ff

File tree

2 files changed

+118
-241
lines changed

2 files changed

+118
-241
lines changed

managed/CounterStrikeSharp.API/Modules/Memory/VirtualFunctionVoid.cs

Lines changed: 60 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -14,274 +14,215 @@
1414
* along with CounterStrikeSharp. If not, see <https://www.gnu.org/licenses/>. *
1515
*/
1616

17+
using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions;
18+
1719
namespace CounterStrikeSharp.API.Modules.Memory;
1820

19-
public partial class VirtualFunctionVoid
21+
public partial class VirtualFunctionVoid : MemoryFunctionVoid
2022
{
21-
private Action Function;
23+
public VirtualFunctionVoid(string signature) : base(signature)
24+
{
25+
}
2226

23-
public VirtualFunctionVoid(string signature)
27+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
2428
{
25-
this.Function = VirtualFunction.CreateVoid(signature);
2629
}
2730

28-
public VirtualFunctionVoid(string signature, string binarypath)
31+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
2932
{
30-
this.Function = VirtualFunction.CreateVoid(signature, binarypath);
3133
}
3234

33-
public void Invoke()
35+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
3436
{
35-
this.Function();
3637
}
3738
}
3839

39-
public partial class VirtualFunctionVoid<TArg1>
40+
public partial class VirtualFunctionVoid<TArg1> : MemoryFunctionVoid<TArg1>
4041
{
41-
private Action<TArg1> Function;
42-
43-
public VirtualFunctionVoid(string signature)
42+
public VirtualFunctionVoid(string signature) : base(signature)
4443
{
45-
this.Function = VirtualFunction.CreateVoid<TArg1>(signature);
4644
}
4745

48-
public VirtualFunctionVoid(string signature, string binarypath)
46+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
4947
{
50-
this.Function = VirtualFunction.CreateVoid<TArg1>(signature, binarypath);
5148
}
5249

53-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
50+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
5451
{
55-
this.Function = VirtualFunction.CreateVoid<TArg1>(objectPtr, offset);
5652
}
5753

58-
public void Invoke(TArg1 arg1)
54+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
5955
{
60-
this.Function(arg1);
6156
}
6257
}
6358

64-
public partial class VirtualFunctionVoid<TArg1, TArg2>
59+
public partial class VirtualFunctionVoid<TArg1, TArg2> : MemoryFunctionVoid<TArg1, TArg2>
6560
{
66-
private Action<TArg1, TArg2> Function;
67-
68-
public VirtualFunctionVoid(string signature)
61+
public VirtualFunctionVoid(string signature) : base(signature)
6962
{
70-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2>(signature);
7163
}
7264

73-
public VirtualFunctionVoid(string signature, string binarypath)
65+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
7466
{
75-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2>(signature, binarypath);
7667
}
7768

78-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
69+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
7970
{
80-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2>(objectPtr, offset);
8171
}
8272

83-
public void Invoke(TArg1 arg1, TArg2 arg2)
73+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
8474
{
85-
this.Function(arg1, arg2);
8675
}
8776
}
8877

89-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3>
78+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3> : MemoryFunctionVoid<TArg1, TArg2, TArg3>
9079
{
91-
private Action<TArg1, TArg2, TArg3> Function;
92-
93-
public VirtualFunctionVoid(string signature)
80+
public VirtualFunctionVoid(string signature) : base(signature)
9481
{
95-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3>(signature);
9682
}
9783

98-
public VirtualFunctionVoid(string signature, string binarypath)
84+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
9985
{
100-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3>(signature, binarypath);
10186
}
10287

103-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
88+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
10489
{
105-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3>(objectPtr, offset);
10690
}
10791

108-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3)
92+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
10993
{
110-
this.Function(arg1, arg2, arg3);
11194
}
11295
}
11396

114-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4>
97+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4>
11598
{
116-
private Action<TArg1, TArg2, TArg3, TArg4> Function;
117-
118-
public VirtualFunctionVoid(string signature)
99+
public VirtualFunctionVoid(string signature) : base(signature)
119100
{
120-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4>(signature);
121101
}
122102

123-
public VirtualFunctionVoid(string signature, string binarypath)
103+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
124104
{
125-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4>(signature, binarypath);
126105
}
127106

128-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
107+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
129108
{
130-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4>(objectPtr, offset);
131109
}
132110

133-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4)
111+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
134112
{
135-
this.Function(arg1, arg2, arg3, arg4);
136113
}
137114
}
138115

139-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5>
116+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5>
140117
{
141-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5> Function;
142-
143-
public VirtualFunctionVoid(string signature)
118+
public VirtualFunctionVoid(string signature) : base(signature)
144119
{
145-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5>(signature);
146120
}
147121

148-
public VirtualFunctionVoid(string signature, string binarypath)
122+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
149123
{
150-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5>(signature, binarypath);
151124
}
152125

153-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
126+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
154127
{
155-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5>(objectPtr, offset);
156128
}
157129

158-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5)
130+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
159131
{
160-
this.Function(arg1, arg2, arg3, arg4, arg5);
161132
}
162133
}
163134

164-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>
135+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>
165136
{
166-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> Function;
167-
168-
public VirtualFunctionVoid(string signature)
137+
public VirtualFunctionVoid(string signature) : base(signature)
169138
{
170-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(signature);
171139
}
172140

173-
public VirtualFunctionVoid(string signature, string binarypath)
141+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
174142
{
175-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(signature, binarypath);
176143
}
177144

178-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
145+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
179146
{
180-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(objectPtr, offset);
181147
}
182148

183-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
149+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
184150
{
185-
this.Function(arg1, arg2, arg3, arg4, arg5, arg6);
186151
}
187152
}
188153

189-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>
154+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>
190155
{
191-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> Function;
192-
193-
public VirtualFunctionVoid(string signature)
156+
public VirtualFunctionVoid(string signature) : base(signature)
194157
{
195-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(signature);
196158
}
197159

198-
public VirtualFunctionVoid(string signature, string binarypath)
160+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
199161
{
200-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(signature, binarypath);
201162
}
202163

203-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
164+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
204165
{
205-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(objectPtr, offset);
206166
}
207167

208-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7)
168+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
209169
{
210-
this.Function(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
211170
}
212171
}
213172

214-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>
173+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>
215174
{
216-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> Function;
217-
218-
public VirtualFunctionVoid(string signature)
175+
public VirtualFunctionVoid(string signature) : base(signature)
219176
{
220-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(signature);
221177
}
222178

223-
public VirtualFunctionVoid(string signature, string binarypath)
179+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
224180
{
225-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(signature, binarypath);
226181
}
227182

228-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
183+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
229184
{
230-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(objectPtr, offset);
231185
}
232186

233-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8)
187+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
234188
{
235-
this.Function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
236189
}
237190
}
238191

239-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>
192+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>
240193
{
241-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> Function;
242-
243-
public VirtualFunctionVoid(string signature)
194+
public VirtualFunctionVoid(string signature) : base(signature)
244195
{
245-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(signature);
246196
}
247197

248-
public VirtualFunctionVoid(string signature, string binarypath)
198+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
249199
{
250-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(signature, binarypath);
251200
}
252201

253-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
202+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
254203
{
255-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(objectPtr, offset);
256204
}
257205

258-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9)
206+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
259207
{
260-
this.Function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
261208
}
262209
}
263210

264-
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>
211+
public partial class VirtualFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> : MemoryFunctionVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>
265212
{
266-
private Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> Function;
267-
268-
public VirtualFunctionVoid(string signature)
213+
public VirtualFunctionVoid(string signature) : base(signature)
269214
{
270-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(signature);
271215
}
272216

273-
public VirtualFunctionVoid(string signature, string binarypath)
217+
public VirtualFunctionVoid(string signature, string binarypath) : base(signature, binarypath)
274218
{
275-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(signature, binarypath);
276219
}
277220

278-
public VirtualFunctionVoid(IntPtr objectPtr, int offset)
221+
public VirtualFunctionVoid(IntPtr objectPtr, int offset) : base(objectPtr, offset)
279222
{
280-
this.Function = VirtualFunction.CreateVoid<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(objectPtr, offset);
281223
}
282224

283-
public void Invoke(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10)
225+
public VirtualFunctionVoid(NativeObject instance, int offset) : base(instance.Handle, offset)
284226
{
285-
this.Function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
286227
}
287-
}
228+
}

0 commit comments

Comments
 (0)