terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
MainThreadExecution.cs
Go to the documentation of this file.
1using System;
6using Terraria;
7using UnityEngine;
8
9// Token: 0x0200005B RID: 91
11{
12 // Token: 0x060001E5 RID: 485 RVA: 0x00005A4C File Offset: 0x00003C4C
13 public static void ExcludeThread(ManagedThread thread)
14 {
15 if (!true)
16 {
17 }
18 }
19
20 // Token: 0x060001E6 RID: 486 RVA: 0x00005A60 File Offset: 0x00003C60
22 {
23 if (!true)
24 {
25 }
27 Debug.LogError("Execute main on bad thread!");
28 }
29
30 // Token: 0x060001E7 RID: 487 RVA: 0x00005A88 File Offset: 0x00003C88
31 public static void ExecuteSnippetsOnly()
32 {
33 if (!true)
34 {
35 }
36 }
37
38 // Token: 0x060001E8 RID: 488 RVA: 0x00005A9C File Offset: 0x00003C9C
39 public static void ExecuteSnippets()
40 {
41 if (!true)
42 {
43 }
45 if (!true)
46 {
47 }
49 }
50
51 // Token: 0x060001E9 RID: 489 RVA: 0x00005ABC File Offset: 0x00003CBC
57
58 // Token: 0x060001EA RID: 490 RVA: 0x00005AE0 File Offset: 0x00003CE0
59 public void Execute()
60 {
62 object data = this._data;
63 IntPtr invoke_impl = snippet.invoke_impl;
64 IntPtr method_code = snippet.method_code;
65 IntPtr method = snippet.method;
66 object lockObject = this._lockObject;
67 long num = 0L;
68 this._completed = true;
69 if (true)
70 {
71 Monitor.Exit(lockObject);
72 }
73 if (num == 0L)
74 {
75 return;
76 }
77 throw new OutOfMemoryException();
78 }
79
80 // Token: 0x060001EB RID: 491 RVA: 0x00005B58 File Offset: 0x00003D58
82 {
83 long num = 0L;
84 long num2 = 0L;
85 Thread.Sleep((int)num);
86 object lockObject = this._lockObject;
87 Monitor.Enter(lockObject, num2 != 0L);
88 bool completed = this._completed;
89 long num3 = 0L;
90 if (completed)
91 {
92 Monitor.Exit(lockObject);
93 }
94 if (num3 == 0L)
95 {
96 return;
97 }
98 throw new OutOfMemoryException();
99 }
100
101 // Token: 0x060001EC RID: 492 RVA: 0x00005BBC File Offset: 0x00003DBC
102 // Note: this type is marked as 'beforefieldinit'.
104 {
105 }
106
107 // Token: 0x040001DE RID: 478
109
110 // Token: 0x040001DF RID: 479
112
113 // Token: 0x040001E0 RID: 480
114 private object _lockObject;
115
116 // Token: 0x040001E1 RID: 481
118
119 // Token: 0x040001E2 RID: 482
120 private object _data;
121
122 // Token: 0x040001E3 RID: 483
123 private bool _completed;
124
125 // Token: 0x0200005C RID: 92
127 {
128 // Token: 0x060001ED RID: 493 RVA: 0x00005BCC File Offset: 0x00003DCC
129 public ExecutionSnippet(object @object, IntPtr method)
130 {
132 this.m_target = @object;
134 this.method_code = this;
135 }
136
137 // Token: 0x060001EE RID: 494 RVA: 0x00005C2C File Offset: 0x00003E2C
138 public void Invoke(object data)
139 {
142 IntPtr method = this.method;
143 }
144
145 // Token: 0x060001EF RID: 495 RVA: 0x000021DB File Offset: 0x000003DB
146 public IAsyncResult BeginInvoke(object data, AsyncCallback callback, object @object)
147 {
148 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
149 }
150
151 // Token: 0x060001F0 RID: 496 RVA: 0x00005C50 File Offset: 0x00003E50
152 public void EndInvoke(IAsyncResult result)
153 {
154 }
155 }
156}
class f__AnonymousType0<< Count > j__TPar
IAsyncResult BeginInvoke(object data, AsyncCallback callback, object @object)
ExecutionSnippet(object @object, IntPtr method)
static void ExcludeThread(ManagedThread thread)
static List< ManagedThread > ExcludedThreads
static void ExecuteOnMainThread(MainThreadExecution.ExecutionSnippet snippet, object data)
static void ExecuteSnippets()
static void ExecuteSnippetsOnly()
MainThreadExecution.ExecutionSnippet _snippet
static ConcurrentQueue< MainThreadExecution > _pendingRequests
MainThreadExecution(MainThreadExecution.ExecutionSnippet snippet, object data)
IntPtr method_code
Definition Delegate.cs:386
DelegateData data
Definition Delegate.cs:401
IntPtr invoke_impl
Definition Delegate.cs:371
static void Exit(object obj)
Definition Monitor.cs:47
static void Enter(object obj)
Definition Monitor.cs:11
static void Sleep(int millisecondsTimeout)
Definition Thread.cs:207
static Thread CurrentThread
Definition Thread.cs:381
static void ExecuteThreadTime()
static void LogError(object message)
Definition Debug.cs:62