m
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace Steamworks
|
||||
{
|
||||
// Token: 0x0200178A RID: 6026
|
||||
[Token(Token = "0x200178A")]
|
||||
public sealed class Callback<T> : Callback, IDisposable
|
||||
{
|
||||
// Token: 0x140000B6 RID: 182
|
||||
// (add) Token: 0x06008A8F RID: 35471 RVA: 0x001D4E50 File Offset: 0x001D3050
|
||||
// (remove) Token: 0x06008A90 RID: 35472 RVA: 0x001D4E78 File Offset: 0x001D3078
|
||||
[Token(Token = "0x140000B6")]
|
||||
private event Callback<T>.DispatchDelegate m_Func
|
||||
{
|
||||
[Token(Token = "0x6008A8F")]
|
||||
[Address(RVA = "0x32CF670", Offset = "0x32CE670", VA = "0x1832CF670")]
|
||||
[CompilerGenerated]
|
||||
add
|
||||
{
|
||||
Callback.DispatchDelegate func;
|
||||
Delegate @delegate;
|
||||
do
|
||||
{
|
||||
func = this.m_Func;
|
||||
@delegate = Delegate.Combine(func, value);
|
||||
if (@delegate == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (@delegate == 0);
|
||||
while (@delegate != func)
|
||||
{
|
||||
}
|
||||
}
|
||||
[Token(Token = "0x6008A90")]
|
||||
[Address(RVA = "0x32CF730", Offset = "0x32CE730", VA = "0x1832CF730")]
|
||||
[CompilerGenerated]
|
||||
remove
|
||||
{
|
||||
Callback.DispatchDelegate func;
|
||||
Delegate @delegate;
|
||||
do
|
||||
{
|
||||
func = this.m_Func;
|
||||
@delegate = Delegate.Remove(func, value);
|
||||
if (@delegate == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (@delegate == 0);
|
||||
while (@delegate != func)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008A91 RID: 35473 RVA: 0x001D4EA0 File Offset: 0x001D30A0
|
||||
[Token(Token = "0x6008A91")]
|
||||
[Address(RVA = "0x32CF8C0", Offset = "0x32CE8C0", VA = "0x1832CF8C0")]
|
||||
public static Callback<T> Create(Callback<T>.DispatchDelegate func)
|
||||
{
|
||||
int num;
|
||||
Callback callback = new Callback(func, num != 0);
|
||||
num = 0;
|
||||
return callback;
|
||||
}
|
||||
|
||||
// Token: 0x06008A92 RID: 35474 RVA: 0x001D4EB8 File Offset: 0x001D30B8
|
||||
[Token(Token = "0x6008A92")]
|
||||
[Address(RVA = "0x32CF7F0", Offset = "0x32CE7F0", VA = "0x1832CF7F0")]
|
||||
public static Callback<T> CreateGameServer(Callback<T>.DispatchDelegate func)
|
||||
{
|
||||
return new Callback(func, true);
|
||||
}
|
||||
|
||||
// Token: 0x06008A93 RID: 35475 RVA: 0x001D4ECC File Offset: 0x001D30CC
|
||||
[Token(Token = "0x6008A93")]
|
||||
[Address(RVA = "0x32D0EA0", Offset = "0x32CFEA0", VA = "0x1832D0EA0")]
|
||||
public Callback(Callback<T>.DispatchDelegate func, bool bGameServer = false)
|
||||
{
|
||||
this.m_bGameServer = bGameServer;
|
||||
((IDisposable)this).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x06008A94 RID: 35476 RVA: 0x001D4EF4 File Offset: 0x001D30F4
|
||||
[Token(Token = "0x6008A94")]
|
||||
[Address(RVA = "0x32CFDA0", Offset = "0x32CEDA0", VA = "0x1832CFDA0", Slot = "1")]
|
||||
protected override void Finalize()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
this.Dispose();
|
||||
base..ctor();
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x06008A95 RID: 35477 RVA: 0x001D4F1C File Offset: 0x001D311C
|
||||
[Token(Token = "0x6008A95")]
|
||||
[Address(RVA = "0x32CFBD0", Offset = "0x32CEBD0", VA = "0x1832CFBD0", Slot = "8")]
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
this.Unregister();
|
||||
this.m_bDisposed = true;
|
||||
}
|
||||
|
||||
// Token: 0x06008A96 RID: 35478 RVA: 0x001D4F3C File Offset: 0x001D313C
|
||||
[Token(Token = "0x6008A96")]
|
||||
[Address(RVA = "0x32D0A40", Offset = "0x32CFA40", VA = "0x1832D0A40")]
|
||||
public void Register(Callback<T>.DispatchDelegate func)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008A96)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Steamworks.Callback`1::Register(Steamworks.Callback`1/DispatchDelegate<T>)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:Exception(var_0_29, newobj:Exception(Exception::.ctor, ldstr:string("Callback function must not be null.")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06008A97 RID: 35479 RVA: 0x001D4F74 File Offset: 0x001D3174
|
||||
[Token(Token = "0x6008A97")]
|
||||
[Address(RVA = "0x32D0CC0", Offset = "0x32CFCC0", VA = "0x1832D0CC0")]
|
||||
public void Unregister()
|
||||
{
|
||||
CallbackDispatcher.Unregister(this);
|
||||
this.m_bIsRegistered = false;
|
||||
}
|
||||
|
||||
// Token: 0x17001765 RID: 5989
|
||||
// (get) Token: 0x06008A98 RID: 35480 RVA: 0x001D4F90 File Offset: 0x001D3190
|
||||
[Token(Token = "0x17001765")]
|
||||
public override bool IsGameServer
|
||||
{
|
||||
[Token(Token = "0x6008A98")]
|
||||
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.m_bGameServer;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008A99 RID: 35481 RVA: 0x001D4FA4 File Offset: 0x001D31A4
|
||||
[Token(Token = "0x6008A99")]
|
||||
[Address(RVA = "0x32D00A0", Offset = "0x32CF0A0", VA = "0x1832D00A0", Slot = "5")]
|
||||
internal override Type GetCallbackType()
|
||||
{
|
||||
Type type;
|
||||
return type;
|
||||
}
|
||||
|
||||
// Token: 0x06008A9A RID: 35482 RVA: 0x001D4FB4 File Offset: 0x001D31B4
|
||||
[Token(Token = "0x6008A9A")]
|
||||
[Address(RVA = "0x32D02D0", Offset = "0x32CF2D0", VA = "0x1832D02D0", Slot = "6")]
|
||||
internal override void OnRunCallback(IntPtr pvParam)
|
||||
{
|
||||
Callback.DispatchDelegate func = this.m_Func;
|
||||
Type type;
|
||||
object obj = Marshal.PtrToStructure(pvParam, type);
|
||||
func(obj);
|
||||
}
|
||||
|
||||
// Token: 0x06008A9B RID: 35483 RVA: 0x001D4FE4 File Offset: 0x001D31E4
|
||||
[Token(Token = "0x6008A9B")]
|
||||
[Address(RVA = "0x32D0CB0", Offset = "0x32CFCB0", VA = "0x1832D0CB0", Slot = "7")]
|
||||
internal override void SetUnregistered()
|
||||
{
|
||||
this.m_bIsRegistered = false;
|
||||
}
|
||||
|
||||
// Token: 0x04005B05 RID: 23301
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
||||
[Token(Token = "0x4005B05")]
|
||||
private bool m_bGameServer;
|
||||
|
||||
// Token: 0x04005B06 RID: 23302
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
||||
[Token(Token = "0x4005B06")]
|
||||
private bool m_bIsRegistered;
|
||||
|
||||
// Token: 0x04005B07 RID: 23303
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
||||
[Token(Token = "0x4005B07")]
|
||||
private bool m_bDisposed;
|
||||
|
||||
// Token: 0x0200178B RID: 6027
|
||||
[Token(Token = "0x200178B")]
|
||||
public sealed class DispatchDelegate : MulticastDelegate
|
||||
{
|
||||
// Token: 0x06008A9C RID: 35484 RVA: 0x001D4FF8 File Offset: 0x001D31F8
|
||||
[Token(Token = "0x6008A9C")]
|
||||
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
|
||||
public DispatchDelegate(object @object, IntPtr method)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008A9D RID: 35485 RVA: 0x001D5008 File Offset: 0x001D3208
|
||||
[Token(Token = "0x6008A9D")]
|
||||
[Address(RVA = "0x32D4D10", Offset = "0x32D3D10", VA = "0x1832D4D10", Slot = "13")]
|
||||
public void Invoke(T param)
|
||||
{
|
||||
uint num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
throw new ExecutionEngineException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008A9E RID: 35486 RVA: 0x001D5078 File Offset: 0x001D3278
|
||||
[Token(Token = "0x6008A9E")]
|
||||
[Address(RVA = "0x32D4C10", Offset = "0x32D3C10", VA = "0x1832D4C10", Slot = "14")]
|
||||
public IAsyncResult BeginInvoke(T param, AsyncCallback callback, object @object)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008A9F RID: 35487 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008A9F")]
|
||||
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", Slot = "15")]
|
||||
public void EndInvoke(IAsyncResult result)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user