14
14
15
15
namespace SourceSharp . Core . Bridges
16
16
{
17
+ public unsafe partial class ConVar
18
+ {
19
+ public partial struct __Internal
20
+ {
21
+ }
22
+
23
+ public __IntPtr __Instance { get ; protected set ; }
24
+
25
+ internal static readonly new global ::System . Collections . Concurrent . ConcurrentDictionary < IntPtr , global ::SourceSharp . Core . Bridges . ConVar > NativeToManagedMap =
26
+ new global ::System . Collections . Concurrent . ConcurrentDictionary < IntPtr , global ::SourceSharp . Core . Bridges . ConVar > ( ) ;
27
+
28
+ internal static void __RecordNativeToManagedMapping ( IntPtr native , global ::SourceSharp . Core . Bridges . ConVar managed )
29
+ {
30
+ NativeToManagedMap [ native ] = managed ;
31
+ }
32
+
33
+ internal static bool __TryGetNativeToManagedMapping ( IntPtr native , out global ::SourceSharp . Core . Bridges . ConVar managed )
34
+ {
35
+
36
+ return NativeToManagedMap . TryGetValue ( native , out managed ) ;
37
+ }
38
+
39
+ protected bool __ownsNativeInstance ;
40
+
41
+ internal static ConVar __CreateInstance ( __IntPtr native , bool skipVTables = false )
42
+ {
43
+ if ( native == __IntPtr . Zero )
44
+ return null ;
45
+ return new ConVar ( native . ToPointer ( ) , skipVTables ) ;
46
+ }
47
+
48
+ internal static ConVar __GetOrCreateInstance ( __IntPtr native , bool saveInstance = false , bool skipVTables = false )
49
+ {
50
+ if ( native == __IntPtr . Zero )
51
+ return null ;
52
+ if ( __TryGetNativeToManagedMapping ( native , out var managed ) )
53
+ return ( ConVar ) managed ;
54
+ var result = __CreateInstance ( native , skipVTables ) ;
55
+ if ( saveInstance )
56
+ __RecordNativeToManagedMapping ( native , result ) ;
57
+ return result ;
58
+ }
59
+
60
+ internal static ConVar __CreateInstance ( __Internal native , bool skipVTables = false )
61
+ {
62
+ return new ConVar ( native , skipVTables ) ;
63
+ }
64
+
65
+ private static void * __CopyValue ( __Internal native )
66
+ {
67
+ var ret = Marshal . AllocHGlobal ( sizeof ( __Internal ) ) ;
68
+ * ( __Internal * ) ret = native ;
69
+ return ret . ToPointer ( ) ;
70
+ }
71
+
72
+ private ConVar ( __Internal native , bool skipVTables = false )
73
+ : this ( __CopyValue ( native ) , skipVTables )
74
+ {
75
+ __ownsNativeInstance = true ;
76
+ __RecordNativeToManagedMapping ( __Instance , this ) ;
77
+ }
78
+
79
+ protected ConVar ( void * native , bool skipVTables = false )
80
+ {
81
+ if ( native == null )
82
+ return ;
83
+ __Instance = new __IntPtr ( native ) ;
84
+ }
85
+ }
86
+
17
87
public unsafe partial class SSConVar : IDisposable
18
88
{
19
- [ StructLayout ( LayoutKind . Sequential , Size = 8 ) ]
89
+ [ StructLayout ( LayoutKind . Sequential , Size = 16 ) ]
20
90
public partial struct __Internal
21
91
{
22
92
internal __IntPtr m_pConVar ;
93
+ internal byte m_bRegister ;
94
+
95
+ [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "??0SSConVar@@QEAA@PEAVConVar@@_N@Z" , CallingConvention = __CallingConvention . Cdecl ) ]
96
+ internal static extern __IntPtr ctor ( __IntPtr __instance , __IntPtr pVar , bool bRegister ) ;
23
97
24
98
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "??0SSConVar@@QEAA@AEBV0@@Z" , CallingConvention = __CallingConvention . Cdecl ) ]
25
99
internal static extern __IntPtr cctor ( __IntPtr __instance , __IntPtr _0 ) ;
@@ -28,12 +102,6 @@ public partial struct __Internal
28
102
[ return : MarshalAs ( UnmanagedType . I1 ) ]
29
103
internal static extern bool ReplicateToPlayers ( __IntPtr __instance , int [ ] pPlayers , int nPlayers ) ;
30
104
31
- [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "?GetName@SSConVar@@QEAAPEBDXZ" , CallingConvention = __CallingConvention . Cdecl ) ]
32
- internal static extern __IntPtr GetName ( __IntPtr __instance ) ;
33
-
34
- [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "?GetDefault@SSConVar@@QEAAPEBDXZ" , CallingConvention = __CallingConvention . Cdecl ) ]
35
- internal static extern __IntPtr GetDefault ( __IntPtr __instance ) ;
36
-
37
105
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "?GetDescription@SSConVar@@QEAAPEBDXZ" , CallingConvention = __CallingConvention . Cdecl ) ]
38
106
internal static extern __IntPtr GetDescription ( __IntPtr __instance ) ;
39
107
@@ -93,6 +161,9 @@ public partial struct __Internal
93
161
94
162
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "?SetHasMax@SSConVar@@QEAAX_N@Z" , CallingConvention = __CallingConvention . Cdecl ) ]
95
163
internal static extern void SetHasMax ( __IntPtr __instance , bool has ) ;
164
+
165
+ [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "?GetBase@SSConVar@@QEAAPEAVConVar@@XZ" , CallingConvention = __CallingConvention . Cdecl ) ]
166
+ internal static extern __IntPtr GetBase ( __IntPtr __instance ) ;
96
167
}
97
168
98
169
public __IntPtr __Instance { get ; protected set ; }
@@ -158,11 +229,13 @@ protected SSConVar(void* native, bool skipVTables = false)
158
229
__Instance = new __IntPtr ( native ) ;
159
230
}
160
231
161
- public SSConVar ( )
232
+ public SSConVar ( global :: SourceSharp . Core . Bridges . ConVar pVar , bool bRegister )
162
233
{
163
234
__Instance = Marshal . AllocHGlobal ( sizeof ( global ::SourceSharp . Core . Bridges . SSConVar . __Internal ) ) ;
164
235
__ownsNativeInstance = true ;
165
236
__RecordNativeToManagedMapping ( __Instance , this ) ;
237
+ var __arg0 = pVar is null ? __IntPtr . Zero : pVar . __Instance ;
238
+ __Internal . ctor ( __Instance , __arg0 , bRegister ) ;
166
239
}
167
240
168
241
public SSConVar ( global ::SourceSharp . Core . Bridges . SSConVar _0 )
@@ -197,24 +270,6 @@ public bool ReplicateToPlayers(int[] pPlayers, int nPlayers)
197
270
return ___ret ;
198
271
}
199
272
200
- public string Name
201
- {
202
- get
203
- {
204
- var ___ret = __Internal . GetName ( __Instance ) ;
205
- return CppSharp . Runtime . MarshalUtil . GetString ( global ::System . Text . Encoding . UTF8 , ___ret ) ;
206
- }
207
- }
208
-
209
- public string Default
210
- {
211
- get
212
- {
213
- var ___ret = __Internal . GetDefault ( __Instance ) ;
214
- return CppSharp . Runtime . MarshalUtil . GetString ( global ::System . Text . Encoding . UTF8 , ___ret ) ;
215
- }
216
- }
217
-
218
273
public string Description
219
274
{
220
275
get
@@ -349,20 +404,51 @@ public bool HasMax
349
404
__Internal . SetHasMax ( __Instance , value ) ;
350
405
}
351
406
}
407
+
408
+ public global ::SourceSharp . Core . Bridges . ConVar Base
409
+ {
410
+ get
411
+ {
412
+ var ___ret = __Internal . GetBase ( __Instance ) ;
413
+ var __result0 = global ::SourceSharp . Core . Bridges . ConVar . __GetOrCreateInstance ( ___ret , false ) ;
414
+ return __result0 ;
415
+ }
416
+ }
352
417
}
353
418
354
419
public unsafe partial class ConVar
355
420
{
356
421
public partial struct __Internal
357
422
{
423
+ [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "GetSSConVarName" , CallingConvention = __CallingConvention . Cdecl ) ]
424
+ internal static extern __IntPtr GetSSConVarName ( __IntPtr pVar ) ;
425
+
426
+ [ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "GetSSConVarDefault" , CallingConvention = __CallingConvention . Cdecl ) ]
427
+ internal static extern __IntPtr GetSSConVarDefault ( __IntPtr pVar ) ;
428
+
358
429
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "CreateConVar" , CallingConvention = __CallingConvention . Cdecl ) ]
359
430
internal static extern __IntPtr CreateConVar ( [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pName , [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pDefValue , [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pDescription , int nFlags , bool bHasMin , float flMin , bool bHasMax , float flMax ) ;
360
431
361
432
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "FindConVar" , CallingConvention = __CallingConvention . Cdecl ) ]
362
433
internal static extern __IntPtr FindConVar ( [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pName ) ;
363
434
364
435
[ SuppressUnmanagedCodeSecurity , DllImport ( "sourcesharp" , EntryPoint = "RegisterConVarHook" , CallingConvention = __CallingConvention . Cdecl ) ]
365
- internal static extern void RegisterConVarHook ( [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pName ) ;
436
+ [ return : MarshalAs ( UnmanagedType . I1 ) ]
437
+ internal static extern bool RegisterConVarHook ( [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( CppSharp . Runtime . UTF8Marshaller ) ) ] string pName ) ;
438
+ }
439
+
440
+ public static string GetSSConVarName ( global ::SourceSharp . Core . Bridges . SSConVar pVar )
441
+ {
442
+ var __arg0 = pVar is null ? __IntPtr . Zero : pVar . __Instance ;
443
+ var ___ret = __Internal . GetSSConVarName ( __arg0 ) ;
444
+ return CppSharp . Runtime . MarshalUtil . GetString ( global ::System . Text . Encoding . UTF8 , ___ret ) ;
445
+ }
446
+
447
+ public static string GetSSConVarDefault ( global ::SourceSharp . Core . Bridges . SSConVar pVar )
448
+ {
449
+ var __arg0 = pVar is null ? __IntPtr . Zero : pVar . __Instance ;
450
+ var ___ret = __Internal . GetSSConVarDefault ( __arg0 ) ;
451
+ return CppSharp . Runtime . MarshalUtil . GetString ( global ::System . Text . Encoding . UTF8 , ___ret ) ;
366
452
}
367
453
368
454
public static global ::SourceSharp . Core . Bridges . SSConVar CreateConVar ( string pName , string pDefValue , string pDescription , int nFlags , bool bHasMin , float flMin , bool bHasMax , float flMax )
@@ -379,9 +465,10 @@ public partial struct __Internal
379
465
return __result0 ;
380
466
}
381
467
382
- public static void RegisterConVarHook ( string pName )
468
+ public static bool RegisterConVarHook ( string pName )
383
469
{
384
- __Internal . RegisterConVarHook ( pName ) ;
470
+ var ___ret = __Internal . RegisterConVarHook ( pName ) ;
471
+ return ___ret ;
385
472
}
386
473
}
387
474
}
0 commit comments