@@ -45,7 +45,7 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
4545 LocalBuilder ev = generator . DeclareLocal ( typeof ( SendingValidCommandEventArgs ) ) ;
4646
4747 int offset = 2 ;
48- int index = newInstructions . FindIndex ( instruction => instruction . Calls ( Method ( typeof ( ClientCommandHandler ) , nameof ( ClientCommandHandler . TryGetCommand ) ) ) ) + offset ;
48+ int index = newInstructions . FindIndex ( instruction => instruction . Calls ( Method ( typeof ( CommandHandler ) , nameof ( CommandHandler . TryGetCommand ) ) ) ) + offset ;
4949 Label contlabel = generator . DefineLabel ( ) ;
5050
5151 offset = - 6 ;
@@ -57,110 +57,111 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
5757
5858 newInstructions . InsertRange (
5959 index ,
60- new CodeInstruction [ ]
60+ new [ ]
6161 {
6262 // this
63- new CodeInstruction ( OpCodes . Ldarg_0 ) ,
63+ new ( OpCodes . Ldarg_0 ) ,
6464
6565 // this._hub
66- new CodeInstruction ( OpCodes . Ldfld , Field ( typeof ( QueryProcessor ) , nameof ( QueryProcessor . _hub ) ) ) ,
66+ new ( OpCodes . Ldfld , Field ( typeof ( QueryProcessor ) , nameof ( QueryProcessor . _hub ) ) ) ,
6767
6868 // Player.Get(Hub)
69- new CodeInstruction ( OpCodes . Call , Method ( typeof ( Player ) , nameof ( Player . Get ) , new Type [ ] { typeof ( ReferenceHub ) } ) ) ,
69+ new ( OpCodes . Call , Method ( typeof ( Player ) , nameof ( Player . Get ) , new [ ] { typeof ( ReferenceHub ) } ) ) ,
7070
7171 // command
72- new ( OpCodes . Ldloc_S , 1 ) ,
72+ new ( OpCodes . Ldloc_S , 4 ) ,
7373
7474 // commandtype client
75- new CodeInstruction ( OpCodes . Ldc_I4_2 ) ,
75+ new ( OpCodes . Ldc_I4_2 ) ,
7676
7777 // query
78- new CodeInstruction ( OpCodes . Ldarg_1 ) ,
78+ new ( OpCodes . Ldarg_1 ) ,
7979
8080 // response
81- new CodeInstruction ( OpCodes . Ldloc_S , 3 ) ,
81+ new ( OpCodes . Ldloc_S , 6 ) ,
8282
8383 // new SendingValidCommandEventArgs
84- new CodeInstruction ( OpCodes . Newobj , GetDeclaredConstructors ( typeof ( SendingValidCommandEventArgs ) ) [ 0 ] ) ,
85- new CodeInstruction ( OpCodes . Dup ) ,
86- new CodeInstruction ( OpCodes . Stloc_S , ev . LocalIndex ) ,
84+ new ( OpCodes . Newobj , GetDeclaredConstructors ( typeof ( SendingValidCommandEventArgs ) ) [ 0 ] ) ,
85+ new ( OpCodes . Dup ) ,
86+ new ( OpCodes . Stloc_S , ev . LocalIndex ) ,
8787
8888 // OnSendingValidCommad(ev)
89- new CodeInstruction ( OpCodes . Call , Method ( typeof ( Handlers . Player ) , nameof ( Handlers . Player . OnSendingValidCommand ) ) ) ,
89+ new ( OpCodes . Call , Method ( typeof ( Handlers . Player ) , nameof ( Handlers . Player . OnSendingValidCommand ) ) ) ,
9090
9191 // if ev.IsAllowed cont
92- new CodeInstruction ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
93- new CodeInstruction ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . IsAllowed ) ) ) ,
94- new CodeInstruction ( OpCodes . Brtrue_S , contlabel ) ,
92+ new ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
93+ new ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . IsAllowed ) ) ) ,
94+ new ( OpCodes . Brtrue_S , contlabel ) ,
9595
9696 // if ev.Response.IsNullOrEmpty rets
97- new CodeInstruction ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
98- new CodeInstruction ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
99- new CodeInstruction ( OpCodes . Call , Method ( typeof ( string ) , nameof ( string . IsNullOrEmpty ) ) ) ,
100- new CodeInstruction ( OpCodes . Brtrue_S , setproperresp ) ,
97+ new ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
98+ new ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
99+ new ( OpCodes . Call , Method ( typeof ( string ) , nameof ( string . IsNullOrEmpty ) ) ) ,
100+ new ( OpCodes . Brtrue_S , setproperresp ) ,
101101
102102 // response = ev.Response
103- new CodeInstruction ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
104- new CodeInstruction ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
105- new CodeInstruction ( OpCodes . Stloc_S , 3 ) ,
103+ new ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
104+ new ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
105+ new ( OpCodes . Stloc_S , 6 ) ,
106106
107107 // goto sendreply
108- new CodeInstruction ( OpCodes . Br , sendreply ) ,
108+ new ( OpCodes . Br , sendreply ) ,
109109
110110 // response = "The Command Execution Was Prevented By Plugin."
111111 new CodeInstruction ( OpCodes . Ldstr , "The Command Execution Was Prevented By Plugin." ) . WithLabels ( setproperresp ) ,
112- new CodeInstruction ( OpCodes . Stloc_S , 3 ) ,
113- new CodeInstruction ( OpCodes . Br , sendreply ) ,
112+ new ( OpCodes . Stloc_S , 6 ) ,
113+ new ( OpCodes . Br , sendreply ) ,
114114 } ) ;
115115
116- offset = - 3 ;
117- index = newInstructions . FindIndex ( instruction => instruction . opcode == OpCodes . Ldstr && ( string ) instruction . operand == "magenta" ) + offset ;
116+ offset = 2 ;
117+ index = newInstructions . FindIndex ( instruction => instruction . Calls ( Method ( typeof ( Misc ) , nameof ( Misc . CloseAllRichTextTags ) ) ) ) + offset ;
118118 Label skip = generator . DefineLabel ( ) ;
119119 newInstructions [ index ] . WithLabels ( skip ) ;
120120 newInstructions . InsertRange (
121121 index ,
122122 new CodeInstruction [ ]
123123 {
124124 // if ev.Response.IsNullOrEmpty skip
125- new CodeInstruction ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
126- new CodeInstruction ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
127- new CodeInstruction ( OpCodes . Call , Method ( typeof ( string ) , nameof ( string . IsNullOrEmpty ) ) ) ,
128- new CodeInstruction ( OpCodes . Brtrue_S , skip ) ,
125+ new ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
126+ new ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
127+ new ( OpCodes . Call , Method ( typeof ( string ) , nameof ( string . IsNullOrEmpty ) ) ) ,
128+ new ( OpCodes . Brtrue_S , skip ) ,
129129
130130 // response = ev.Response
131- new CodeInstruction ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
132- new CodeInstruction ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
133- new CodeInstruction ( OpCodes . Stloc_S , 3 ) ,
131+ new ( OpCodes . Ldloc_S , ev . LocalIndex ) ,
132+ new ( OpCodes . Callvirt , PropertyGetter ( typeof ( SendingValidCommandEventArgs ) , nameof ( SendingValidCommandEventArgs . Response ) ) ) ,
133+ new ( OpCodes . Stloc_S , 6 ) ,
134134 } ) ;
135- offset = 0 ;
135+
136+ offset = 1 ;
136137 index = newInstructions . FindIndex ( instrction => instrction . Calls ( Method ( typeof ( GameConsoleTransmission ) , nameof ( GameConsoleTransmission . SendToClient ) ) ) ) + offset ;
137138 newInstructions . InsertRange (
138139 index ,
139140 new CodeInstruction [ ]
140141 {
141142 // this
142- new CodeInstruction ( OpCodes . Ldarg_0 ) ,
143+ new ( OpCodes . Ldarg_0 ) ,
143144
144145 // this._hub
145- new CodeInstruction ( OpCodes . Ldfld , Field ( typeof ( QueryProcessor ) , nameof ( QueryProcessor . _hub ) ) ) ,
146+ new ( OpCodes . Ldfld , Field ( typeof ( QueryProcessor ) , nameof ( QueryProcessor . _hub ) ) ) ,
146147
147148 // Player.Get(Hub)
148- new CodeInstruction ( OpCodes . Call , Method ( typeof ( Player ) , nameof ( Player . Get ) , new Type [ ] { typeof ( ReferenceHub ) } ) ) ,
149+ new ( OpCodes . Call , Method ( typeof ( Player ) , nameof ( Player . Get ) , new Type [ ] { typeof ( ReferenceHub ) } ) ) ,
149150
150151 // command
151- new CodeInstruction ( OpCodes . Ldloc_1 ) ,
152+ new ( OpCodes . Ldloc_1 ) ,
152153
153154 // commandtype CLIENT
154- new CodeInstruction ( OpCodes . Ldc_I4_2 ) ,
155+ new ( OpCodes . Ldc_I4_2 ) ,
155156
156157 // query
157- new CodeInstruction ( OpCodes . Ldarg_1 ) ,
158+ new ( OpCodes . Ldarg_1 ) ,
158159
159160 // response
160- new CodeInstruction ( OpCodes . Ldloc_S , 3 ) ,
161+ new ( OpCodes . Ldloc_S , 6 ) ,
161162
162163 // result
163- new ( OpCodes . Ldloc_S , 2 ) ,
164+ new ( OpCodes . Ldloc_S , 7 ) ,
164165
165166 // new SentValidCommandEventArgs
166167 new ( OpCodes . Newobj , GetDeclaredConstructors ( typeof ( SentValidCommandEventArgs ) ) [ 0 ] ) ,
0 commit comments