context: 
  #if CSHotFix
  using System;
  using System.Collections.Generic;
  using System.Reflection;
  using System.Runtime.InteropServices;
  
  using CSHotFix.CLR.TypeSystem;
  using CSHotFix.CLR.Method;
  using CSHotFix.Runtime.Enviorment;
  using CSHotFix.Runtime.Intepreter;
  using CSHotFix.Runtime.Stack;
  using CSHotFix.Reflection;
  using CSHotFix.CLR.Utils;
  using System.Linq;
  namespace CSHotFix.Runtime.Generated
  {
      unsafe class UnityEngine_Debug_Binding
      {
          public static void Register(CSHotFix.Runtime.Enviorment.AppDomain app)
          {
              BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
              MethodBase method;
              Type[] args;
              Type type = typeof(UnityEngine.Debug);
              args = new Type[]{};
              method = type.GetMethod("get_unityLogger", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_unityLogger_0);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color), typeof(System.Single)};
              method = type.GetMethod("DrawLine", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawLine_1);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color)};
              method = type.GetMethod("DrawLine", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawLine_2);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3)};
              method = type.GetMethod("DrawLine", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawLine_3);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color), typeof(System.Single), typeof(System.Boolean)};
              method = type.GetMethod("DrawLine", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawLine_4);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color), typeof(System.Single)};
              method = type.GetMethod("DrawRay", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawRay_5);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color)};
              method = type.GetMethod("DrawRay", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawRay_6);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3)};
              method = type.GetMethod("DrawRay", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawRay_7);
              args = new Type[]{typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(UnityEngine.Color), typeof(System.Single), typeof(System.Boolean)};
              method = type.GetMethod("DrawRay", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DrawRay_8);
              args = new Type[]{};
              method = type.GetMethod("Break", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Break_9);
              args = new Type[]{};
              method = type.GetMethod("DebugBreak", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, DebugBreak_10);
              args = new Type[]{typeof(System.Object)};
              method = type.GetMethod("Log", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Log_11);
              args = new Type[]{typeof(System.Object), typeof(UnityEngine.Object)};
              method = type.GetMethod("Log", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Log_12);
              args = new Type[]{typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogFormat_13);
              args = new Type[]{typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogFormat_14);
              args = new Type[]{typeof(UnityEngine.LogType), typeof(UnityEngine.LogOption), typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogFormat_15);
              args = new Type[]{typeof(System.Object)};
              method = type.GetMethod("LogError", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogError_16);
              args = new Type[]{typeof(System.Object), typeof(UnityEngine.Object)};
              method = type.GetMethod("LogError", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogError_17);
              args = new Type[]{typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogErrorFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogErrorFormat_18);
              args = new Type[]{typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogErrorFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogErrorFormat_19);
              args = new Type[]{};
              method = type.GetMethod("ClearDeveloperConsole", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, ClearDeveloperConsole_20);
              args = new Type[]{};
              method = type.GetMethod("get_developerConsoleVisible", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_developerConsoleVisible_21);
              args = new Type[]{typeof(System.Boolean)};
              method = type.GetMethod("set_developerConsoleVisible", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, set_developerConsoleVisible_22);
              args = new Type[]{typeof(System.Exception)};
              method = type.GetMethod("LogException", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogException_23);
              args = new Type[]{typeof(System.Exception), typeof(UnityEngine.Object)};
              method = type.GetMethod("LogException", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogException_24);
              args = new Type[]{typeof(System.Object)};
              method = type.GetMethod("LogWarning", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogWarning_25);
              args = new Type[]{typeof(System.Object), typeof(UnityEngine.Object)};
              method = type.GetMethod("LogWarning", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogWarning_26);
              args = new Type[]{typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogWarningFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogWarningFormat_27);
              args = new Type[]{typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogWarningFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogWarningFormat_28);
              args = new Type[]{typeof(System.Boolean)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_29);
              args = new Type[]{typeof(System.Boolean), typeof(UnityEngine.Object)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_30);
              args = new Type[]{typeof(System.Boolean), typeof(System.Object)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_31);
              args = new Type[]{typeof(System.Boolean), typeof(System.String)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_32);
              args = new Type[]{typeof(System.Boolean), typeof(System.Object), typeof(UnityEngine.Object)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_33);
              args = new Type[]{typeof(System.Boolean), typeof(System.String), typeof(UnityEngine.Object)};
              method = type.GetMethod("Assert", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Assert_34);
              args = new Type[]{typeof(System.Boolean), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("AssertFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, AssertFormat_35);
              args = new Type[]{typeof(System.Boolean), typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("AssertFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, AssertFormat_36);
              args = new Type[]{typeof(System.Object)};
              method = type.GetMethod("LogAssertion", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogAssertion_37);
              args = new Type[]{typeof(System.Object), typeof(UnityEngine.Object)};
              method = type.GetMethod("LogAssertion", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogAssertion_38);
              args = new Type[]{typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogAssertionFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogAssertionFormat_39);
              args = new Type[]{typeof(UnityEngine.Object), typeof(System.String), typeof(System.Object[])};
              method = type.GetMethod("LogAssertionFormat", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, LogAssertionFormat_40);
              args = new Type[]{};
              method = type.GetMethod("get_isDebugBuild", flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, get_isDebugBuild_41);
  
  
  
              app.RegisterCLRCreateDefaultInstance(type, () => new UnityEngine.Debug());
              app.RegisterCLRCreateArrayInstance(type, s => new UnityEngine.Debug[s]);
  
              args = new Type[]{};
              method = type.GetConstructor(flag, null, args, null);
              app.RegisterCLRMethodRedirection(method, Ctor_0);
  
          }
  
  
          static StackObject* get_unityLogger_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* __ret = ILIntepreter.Minus(__esp, 0);
  
  
              var result_of_this_method = UnityEngine.Debug.unityLogger;
  
              object obj_result_of_this_method = result_of_this_method;
              if(obj_result_of_this_method is CrossBindingAdaptorType)
              {    
                  return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
              }
              return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
          }
  
          static StackObject* DrawLine_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 4);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Single @duration = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Vector3 @end = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawLine(@start, @end, @color, @duration);
  
              return __ret;
          }
  
          static StackObject* DrawLine_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Vector3 @end = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawLine(@start, @end, @color);
  
              return __ret;
          }
  
          static StackObject* DrawLine_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Vector3 @end = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawLine(@start, @end);
  
              return __ret;
          }
  
          static StackObject* DrawLine_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 5);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Boolean @depthTest = ptr_of_this_method->Value == 1;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Single @duration = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
              UnityEngine.Vector3 @end = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 5);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawLine(@start, @end, @color, @duration, @depthTest);
  
              return __ret;
          }
  
          static StackObject* DrawRay_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 4);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Single @duration = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Vector3 @dir = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawRay(@start, @dir, @color, @duration);
  
              return __ret;
          }
  
          static StackObject* DrawRay_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Vector3 @dir = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawRay(@start, @dir, @color);
  
              return __ret;
          }
  
          static StackObject* DrawRay_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Vector3 @dir = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawRay(@start, @dir);
  
              return __ret;
          }
  
          static StackObject* DrawRay_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 5);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Boolean @depthTest = ptr_of_this_method->Value == 1;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Single @duration = *(float*)&ptr_of_this_method->Value;
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Color @color = (UnityEngine.Color)typeof(UnityEngine.Color).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
              UnityEngine.Vector3 @dir = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 5);
              UnityEngine.Vector3 @start = (UnityEngine.Vector3)typeof(UnityEngine.Vector3).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.DrawRay(@start, @dir, @color, @duration, @depthTest);
  
              return __ret;
          }
  
          static StackObject* Break_9(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* __ret = ILIntepreter.Minus(__esp, 0);
  
  
              UnityEngine.Debug.Break();
  
              return __ret;
          }
  
          static StackObject* DebugBreak_10(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* __ret = ILIntepreter.Minus(__esp, 0);
  
  
              UnityEngine.Debug.DebugBreak();
  
              return __ret;
          }
  
          static StackObject* Log_11(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.Log(@message);
  
              return __ret;
          }
  
          static StackObject* Log_12(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.Log(@message, @context);
  
              return __ret;
          }
  
          static StackObject* LogFormat_13(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogFormat(@format, @args);
  
              return __ret;
          }
  
          static StackObject* LogFormat_14(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogFormat(@context, @format, @args);
  
              return __ret;
          }
  
          static StackObject* LogFormat_15(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 5);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
              UnityEngine.LogOption @logOptions = (UnityEngine.LogOption)typeof(UnityEngine.LogOption).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 5);
              UnityEngine.LogType @logType = (UnityEngine.LogType)typeof(UnityEngine.LogType).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogFormat(@logType, @logOptions, @context, @format, @args);
  
              return __ret;
          }
  
          static StackObject* LogError_16(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogError(@message);
  
              return __ret;
          }
  
          static StackObject* LogError_17(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogError(@message, @context);
  
              return __ret;
          }
  
          static StackObject* LogErrorFormat_18(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogErrorFormat(@format, @args);
  
              return __ret;
          }
  
          static StackObject* LogErrorFormat_19(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogErrorFormat(@context, @format, @args);
  
              return __ret;
          }
  
          static StackObject* ClearDeveloperConsole_20(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* __ret = ILIntepreter.Minus(__esp, 0);
  
  
              UnityEngine.Debug.ClearDeveloperConsole();
  
              return __ret;
          }
  
          static StackObject* get_developerConsoleVisible_21(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* __ret = ILIntepreter.Minus(__esp, 0);
  
  
              var result_of_this_method = UnityEngine.Debug.developerConsoleVisible;
  
              __ret->ObjectType = ObjectTypes.Integer;
              __ret->Value = result_of_this_method ? 1 : 0;
              return __ret + 1;
          }
  
          static StackObject* set_developerConsoleVisible_22(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Boolean @value = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.developerConsoleVisible = value;
  
              return __ret;
          }
  
          static StackObject* LogException_23(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Exception @exception = (System.Exception)typeof(System.Exception).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogException(@exception);
  
              return __ret;
          }
  
          static StackObject* LogException_24(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Exception @exception = (System.Exception)typeof(System.Exception).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogException(@exception, @context);
  
              return __ret;
          }
  
          static StackObject* LogWarning_25(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogWarning(@message);
  
              return __ret;
          }
  
          static StackObject* LogWarning_26(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogWarning(@message, @context);
  
              return __ret;
          }
  
          static StackObject* LogWarningFormat_27(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogWarningFormat(@format, @args);
  
              return __ret;
          }
  
          static StackObject* LogWarningFormat_28(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object[] @args = (System.Object[])typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.String @format = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
  
              UnityEngine.Debug.LogWarningFormat(@context, @format, @args);
  
              return __ret;
          }
  
          static StackObject* Assert_29(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 1);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Boolean @condition = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.Assert(@condition);
  
              return __ret;
          }
  
          static StackObject* Assert_30(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Boolean @condition = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.Assert(@condition, @context);
  
              return __ret;
          }
  
          static StackObject* Assert_31(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Boolean @condition = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.Assert(@condition, @message);
  
              return __ret;
          }
  
          static StackObject* Assert_32(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 2);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              System.String @message = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Boolean @condition = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.Assert(@condition, @message);
  
              return __ret;
          }
  
          static StackObject* Assert_33(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
              StackObject* __ret = ILIntepreter.Minus(__esp, 3);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
              UnityEngine.Object @context = (UnityEngine.Object)typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
              System.Object @message = (System.Object)typeof(System.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
              __intp.Free(ptr_of_this_method);
  
              ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
              System.Boolean @condition = ptr_of_this_method->Value == 1;
  
  
              UnityEngine.Debug.Assert(@condition, @message, @context);
  
              return __ret;
          }
  
          static StackObject* Assert_34(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
          {
              CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
              StackObject* ptr_of_this_method;
  
gt:             StackObject* __ret = ILIntepreter.Minus(__esp, 3);