terraria-cpp2il v1.4.4.9
Terraria mobile dump, with CallAnalysis (see source code). Dump with reconstucted method: https://infinitynichto.github.io/terraria-cpp2il-methodrecon
Loading...
Searching...
No Matches
DiscordRpc.cs
Go to the documentation of this file.
1using System;
4using System.Text;
8
10{
11 [global::Cpp2ILInjected.Token(Token = "0x2000517")]
12 public class DiscordRpc
13 {
14 [global::Cpp2ILInjected.Token(Token = "0x6003179")]
15 [global::Cpp2ILInjected.Address(RVA = "0x13282E0", Offset = "0x13282E0", Length = "0x104")]
16 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
17 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(CoreSocialModule), Member = "Initialize", ReturnType = typeof(void))]
18 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
19 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 7)]
20 [PreserveSig]
21 public static extern void Initialize(string applicationId, ref DiscordRpc.EventHandlers handlers, bool autoRegister, string optionalSteamId);
22
23 [global::Cpp2ILInjected.Token(Token = "0x600317A")]
24 [global::Cpp2ILInjected.Address(RVA = "0x13287F0", Offset = "0x13287F0", Length = "0x64")]
25 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
26 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(CoreSocialModule), Member = "Shutdown", ReturnType = typeof(void))]
27 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
28 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
29 [PreserveSig]
30 public static extern void Shutdown();
31
32 [global::Cpp2ILInjected.Token(Token = "0x600317B")]
33 [global::Cpp2ILInjected.Address(RVA = "0x1328858", Offset = "0x1328858", Length = "0x64")]
34 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
35 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
36 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
37 [PreserveSig]
38 public static extern void RunCallbacks();
39
40 [global::Cpp2ILInjected.Token(Token = "0x600317C")]
41 [global::Cpp2ILInjected.Address(RVA = "0x1328E44", Offset = "0x1328E44", Length = "0x118")]
42 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
43 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(DiscordRpc), Member = "UpdatePresence", MemberParameters = new object[] { typeof(DiscordRpc.RichPresence) }, ReturnType = typeof(void))]
44 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
45 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
46 [PreserveSig]
47 private static extern void UpdatePresenceNative(ref DiscordRpc.RichPresenceStruct presence);
48
49 [global::Cpp2ILInjected.Token(Token = "0x600317D")]
50 [global::Cpp2ILInjected.Address(RVA = "0x1328F5C", Offset = "0x1328F5C", Length = "0x64")]
51 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
52 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
53 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
54 [PreserveSig]
55 public static extern void ClearPresence();
56
57 [global::Cpp2ILInjected.Token(Token = "0x600317E")]
58 [global::Cpp2ILInjected.Address(RVA = "0x1328FC0", Offset = "0x1328FC0", Length = "0x94")]
59 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
60 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = "Terraria.Social.Discord.JoinRequestSocialModule.<>c__DisplayClass3_0", Member = "<ReceiveJoinRequest>b__0", ReturnType = typeof(void))]
61 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = "Terraria.Social.Discord.JoinRequestSocialModule.<>c__DisplayClass3_0", Member = "<ReceiveJoinRequest>b__1", ReturnType = typeof(void))]
62 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 2)]
63 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 3)]
64 [PreserveSig]
65 public static extern void Respond(string userId, DiscordRpc.Reply reply);
66
67 [global::Cpp2ILInjected.Token(Token = "0x600317F")]
68 [global::Cpp2ILInjected.Address(RVA = "0x1329054", Offset = "0x1329054", Length = "0xBC")]
69 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
70 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
71 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 3)]
72 [PreserveSig]
74
75 [global::Cpp2ILInjected.Token(Token = "0x6003180")]
76 [global::Cpp2ILInjected.Address(RVA = "0x1329110", Offset = "0x1329110", Length = "0x40")]
77 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
78 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(RichPresenceSocialModule), Member = "PublishPresence", MemberParameters = new object[] { typeof(RichPresenceState) }, ReturnType = typeof(void))]
79 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
80 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(DiscordRpc.RichPresence), Member = "GetStruct", ReturnType = typeof(DiscordRpc.RichPresenceStruct))]
81 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(DiscordRpc), Member = "UpdatePresenceNative", MemberParameters = new object[] { typeof(ref DiscordRpc.RichPresenceStruct) }, ReturnType = typeof(void))]
82 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(DiscordRpc.RichPresence), Member = "FreeMem", ReturnType = typeof(void))]
83 public static void UpdatePresence(DiscordRpc.RichPresence presence)
84 {
85 throw null;
86 }
87
88 [global::Cpp2ILInjected.Token(Token = "0x6003181")]
89 [global::Cpp2ILInjected.Address(RVA = "0x1329350", Offset = "0x1329350", Length = "0x8")]
90 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
91 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
92 public DiscordRpc()
93 {
94 throw null;
95 }
96
98 [global::Cpp2ILInjected.Token(Token = "0x2000518")]
100
102 [global::Cpp2ILInjected.Token(Token = "0x2000519")]
103 public delegate void OnDisconnectedInfo(int errorCode, string message);
104
106 [global::Cpp2ILInjected.Token(Token = "0x200051A")]
107 public delegate void OnErrorInfo(int errorCode, string message);
108
110 [global::Cpp2ILInjected.Token(Token = "0x200051B")]
111 public delegate void OnJoinInfo(string secret);
112
114 [global::Cpp2ILInjected.Token(Token = "0x200051C")]
115 public delegate void OnSpectateInfo(string secret);
116
118 [global::Cpp2ILInjected.Token(Token = "0x200051D")]
120
121 [global::Cpp2ILInjected.Token(Token = "0x200051E")]
122 public struct EventHandlers
123 {
124 [global::Cpp2ILInjected.Token(Token = "0x4003B28")]
125 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
127
128 [global::Cpp2ILInjected.Token(Token = "0x4003B29")]
129 [global::Cpp2ILInjected.FieldOffset(Offset = "0x8")]
131
132 [global::Cpp2ILInjected.Token(Token = "0x4003B2A")]
133 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
135
136 [global::Cpp2ILInjected.Token(Token = "0x4003B2B")]
137 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
139
140 [global::Cpp2ILInjected.Token(Token = "0x4003B2C")]
141 [global::Cpp2ILInjected.FieldOffset(Offset = "0x20")]
143
144 [global::Cpp2ILInjected.Token(Token = "0x4003B2D")]
145 [global::Cpp2ILInjected.FieldOffset(Offset = "0x28")]
147 }
148
149 [global::Cpp2ILInjected.Token(Token = "0x200051F")]
150 [Serializable]
151 public struct RichPresenceStruct
152 {
153 [global::Cpp2ILInjected.Token(Token = "0x4003B2E")]
154 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
155 public IntPtr state;
156
157 [global::Cpp2ILInjected.Token(Token = "0x4003B2F")]
158 [global::Cpp2ILInjected.FieldOffset(Offset = "0x8")]
160
161 [global::Cpp2ILInjected.Token(Token = "0x4003B30")]
162 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
163 public long startTimestamp;
164
165 [global::Cpp2ILInjected.Token(Token = "0x4003B31")]
166 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
167 public long endTimestamp;
168
169 [global::Cpp2ILInjected.Token(Token = "0x4003B32")]
170 [global::Cpp2ILInjected.FieldOffset(Offset = "0x20")]
172
173 [global::Cpp2ILInjected.Token(Token = "0x4003B33")]
174 [global::Cpp2ILInjected.FieldOffset(Offset = "0x28")]
176
177 [global::Cpp2ILInjected.Token(Token = "0x4003B34")]
178 [global::Cpp2ILInjected.FieldOffset(Offset = "0x30")]
180
181 [global::Cpp2ILInjected.Token(Token = "0x4003B35")]
182 [global::Cpp2ILInjected.FieldOffset(Offset = "0x38")]
184
185 [global::Cpp2ILInjected.Token(Token = "0x4003B36")]
186 [global::Cpp2ILInjected.FieldOffset(Offset = "0x40")]
188
189 [global::Cpp2ILInjected.Token(Token = "0x4003B37")]
190 [global::Cpp2ILInjected.FieldOffset(Offset = "0x48")]
191 public int partySize;
192
193 [global::Cpp2ILInjected.Token(Token = "0x4003B38")]
194 [global::Cpp2ILInjected.FieldOffset(Offset = "0x4C")]
195 public int partyMax;
196
197 [global::Cpp2ILInjected.Token(Token = "0x4003B39")]
198 [global::Cpp2ILInjected.FieldOffset(Offset = "0x50")]
200
201 [global::Cpp2ILInjected.Token(Token = "0x4003B3A")]
202 [global::Cpp2ILInjected.FieldOffset(Offset = "0x58")]
204
205 [global::Cpp2ILInjected.Token(Token = "0x4003B3B")]
206 [global::Cpp2ILInjected.FieldOffset(Offset = "0x60")]
208
209 [global::Cpp2ILInjected.Token(Token = "0x4003B3C")]
210 [global::Cpp2ILInjected.FieldOffset(Offset = "0x68")]
211 public bool instance;
212 }
213
214 [global::Cpp2ILInjected.Token(Token = "0x2000520")]
215 [Serializable]
216 public struct DiscordUser
217 {
218 [global::Cpp2ILInjected.Token(Token = "0x4003B3D")]
219 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
220 public string userId;
221
222 [global::Cpp2ILInjected.Token(Token = "0x4003B3E")]
223 [global::Cpp2ILInjected.FieldOffset(Offset = "0x8")]
224 public string username;
225
226 [global::Cpp2ILInjected.Token(Token = "0x4003B3F")]
227 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
228 public string discriminator;
229
230 [global::Cpp2ILInjected.Token(Token = "0x4003B40")]
231 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
232 public string avatar;
233 }
234
235 [global::Cpp2ILInjected.Token(Token = "0x2000521")]
236 public enum Reply
237 {
238 [global::Cpp2ILInjected.Token(Token = "0x4003B42")]
239 No,
240 [global::Cpp2ILInjected.Token(Token = "0x4003B43")]
241 Yes,
242 [global::Cpp2ILInjected.Token(Token = "0x4003B44")]
243 Ignore
244 }
245
246 [global::Cpp2ILInjected.Token(Token = "0x2000522")]
247 public class RichPresence
248 {
249 [global::Cpp2ILInjected.Token(Token = "0x600319A")]
250 [global::Cpp2ILInjected.Address(RVA = "0x1329150", Offset = "0x1329150", Length = "0x114")]
251 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
252 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(DiscordRpc), Member = "UpdatePresence", MemberParameters = new object[] { typeof(DiscordRpc.RichPresence) }, ReturnType = typeof(void))]
253 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
254 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(DiscordRpc.RichPresence), Member = "FreeMem", ReturnType = typeof(void))]
255 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(DiscordRpc.RichPresence), Member = "StrToPtr", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(IntPtr))]
256 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
258 {
259 throw null;
260 }
261
262 [global::Cpp2ILInjected.Token(Token = "0x600319B")]
263 [global::Cpp2ILInjected.Address(RVA = "0x13296B0", Offset = "0x13296B0", Length = "0x1C8")]
264 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
265 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(DiscordRpc.RichPresence), Member = "GetStruct", ReturnType = typeof(DiscordRpc.RichPresenceStruct))]
266 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 10)]
267 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(string), Member = "IsNullOrEmpty", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(bool))]
268 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Encoding), Member = "get_UTF8", ReturnType = typeof(Encoding))]
269 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Marshal), Member = "AllocHGlobal", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(IntPtr))]
270 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Marshal), Member = "WriteByte", MemberParameters = new object[]
271 {
272 typeof(IntPtr),
273 typeof(int),
274 typeof(byte)
275 }, ReturnType = typeof(void))]
276 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Marshal), Member = "Copy", MemberParameters = new object[]
277 {
278 typeof(byte[]),
279 typeof(int),
280 typeof(IntPtr),
281 typeof(int)
282 }, ReturnType = typeof(void))]
283 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 6)]
284 private IntPtr StrToPtr(string input)
285 {
286 throw null;
287 }
288
289 [global::Cpp2ILInjected.Token(Token = "0x600319C")]
290 [global::Cpp2ILInjected.Address(RVA = "0x1329878", Offset = "0x1329878", Length = "0xD8")]
291 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
292 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
293 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(string), Member = "Trim", ReturnType = typeof(string))]
294 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Encoding), Member = "get_Default", ReturnType = typeof(Encoding))]
295 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(string), Member = "Concat", MemberParameters = new object[]
296 {
297 typeof(string),
298 typeof(string)
299 }, ReturnType = typeof(string))]
300 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Encoding), Member = "get_UTF8", ReturnType = typeof(Encoding))]
301 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
302 private static string StrToUtf8NullTerm(string toconv)
303 {
304 throw null;
305 }
306
307 [global::Cpp2ILInjected.Token(Token = "0x600319D")]
308 [global::Cpp2ILInjected.Address(RVA = "0x1329264", Offset = "0x1329264", Length = "0xEC")]
309 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
310 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(DiscordRpc.RichPresence), Member = "GetStruct", ReturnType = typeof(DiscordRpc.RichPresenceStruct))]
311 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(DiscordRpc), Member = "UpdatePresence", MemberParameters = new object[] { typeof(DiscordRpc.RichPresence) }, ReturnType = typeof(void))]
312 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 2)]
313 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(List<IntPtr>), Member = "get_Item", MemberParameters = new object[] { typeof(int) }, ReturnType = "T")]
314 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Marshal), Member = "FreeHGlobal", MemberParameters = new object[] { typeof(IntPtr) }, ReturnType = typeof(void))]
315 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(List<IntPtr>), Member = "RemoveAt", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(void))]
316 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 5)]
317 internal void FreeMem()
318 {
319 throw null;
320 }
321
322 [global::Cpp2ILInjected.Token(Token = "0x600319E")]
323 [global::Cpp2ILInjected.Address(RVA = "0x1329950", Offset = "0x1329950", Length = "0x80")]
324 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(RichPresenceSocialModule), Member = "PublishPresence", MemberParameters = new object[] { typeof(RichPresenceState) }, ReturnType = typeof(void))]
325 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
326 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(List<IntPtr>), Member = ".ctor", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(void))]
327 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
328 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 3)]
330 {
331 throw null;
332 }
333
334 [global::Cpp2ILInjected.Token(Token = "0x4003B45")]
335 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
337
338 [global::Cpp2ILInjected.Token(Token = "0x4003B46")]
339 [global::Cpp2ILInjected.FieldOffset(Offset = "0x80")]
341
342 [global::Cpp2ILInjected.Token(Token = "0x4003B47")]
343 [global::Cpp2ILInjected.FieldOffset(Offset = "0x88")]
344 public string state;
345
346 [global::Cpp2ILInjected.Token(Token = "0x4003B48")]
347 [global::Cpp2ILInjected.FieldOffset(Offset = "0x90")]
348 public string details;
349
350 [global::Cpp2ILInjected.Token(Token = "0x4003B49")]
351 [global::Cpp2ILInjected.FieldOffset(Offset = "0x98")]
352 public long startTimestamp;
353
354 [global::Cpp2ILInjected.Token(Token = "0x4003B4A")]
355 [global::Cpp2ILInjected.FieldOffset(Offset = "0xA0")]
356 public long endTimestamp;
357
358 [global::Cpp2ILInjected.Token(Token = "0x4003B4B")]
359 [global::Cpp2ILInjected.FieldOffset(Offset = "0xA8")]
360 public string largeImageKey;
361
362 [global::Cpp2ILInjected.Token(Token = "0x4003B4C")]
363 [global::Cpp2ILInjected.FieldOffset(Offset = "0xB0")]
364 public string largeImageText;
365
366 [global::Cpp2ILInjected.Token(Token = "0x4003B4D")]
367 [global::Cpp2ILInjected.FieldOffset(Offset = "0xB8")]
368 public string smallImageKey;
369
370 [global::Cpp2ILInjected.Token(Token = "0x4003B4E")]
371 [global::Cpp2ILInjected.FieldOffset(Offset = "0xC0")]
372 public string smallImageText;
373
374 [global::Cpp2ILInjected.Token(Token = "0x4003B4F")]
375 [global::Cpp2ILInjected.FieldOffset(Offset = "0xC8")]
376 public string partyId;
377
378 [global::Cpp2ILInjected.Token(Token = "0x4003B50")]
379 [global::Cpp2ILInjected.FieldOffset(Offset = "0xD0")]
380 public int partySize;
381
382 [global::Cpp2ILInjected.Token(Token = "0x4003B51")]
383 [global::Cpp2ILInjected.FieldOffset(Offset = "0xD4")]
384 public int partyMax;
385
386 [global::Cpp2ILInjected.Token(Token = "0x4003B52")]
387 [global::Cpp2ILInjected.FieldOffset(Offset = "0xD8")]
388 public string matchSecret;
389
390 [global::Cpp2ILInjected.Token(Token = "0x4003B53")]
391 [global::Cpp2ILInjected.FieldOffset(Offset = "0xE0")]
392 public string joinSecret;
393
394 [global::Cpp2ILInjected.Token(Token = "0x4003B54")]
395 [global::Cpp2ILInjected.FieldOffset(Offset = "0xE8")]
396 public string spectateSecret;
397
398 [global::Cpp2ILInjected.Token(Token = "0x4003B55")]
399 [global::Cpp2ILInjected.FieldOffset(Offset = "0xF0")]
400 public bool instance;
401 }
402 }
403}
class f__AnonymousType0<< Count > j__TPar
static string StrToUtf8NullTerm(string toconv)
DiscordRpc.RichPresenceStruct _presence
DiscordRpc.RichPresenceStruct GetStruct()
delegate void OnDisconnectedInfo(int errorCode, string message)
delegate void OnJoinInfo(string secret)
delegate void OnReadyInfo(ref DiscordRpc.DiscordUser connectedUser)
static void Initialize(string applicationId, ref DiscordRpc.EventHandlers handlers, bool autoRegister, string optionalSteamId)
static void Respond(string userId, DiscordRpc.Reply reply)
delegate void OnRequestInfo(ref DiscordRpc.DiscordUser request)
static void UpdatePresence(DiscordRpc.RichPresence presence)
Definition DiscordRpc.cs:83
static void UpdateHandlers(ref DiscordRpc.EventHandlers handlers)
delegate void OnSpectateInfo(string secret)
static void UpdatePresenceNative(ref DiscordRpc.RichPresenceStruct presence)
delegate void OnErrorInfo(int errorCode, string message)
DiscordRpc.OnDisconnectedInfo disconnectedCallback