Jelajahi Sumber

修改hotfix层的config模块,避免aot问题

tanghai 7 tahun lalu
induk
melakukan
d75ca69b41
100 mengubah file dengan 3634 tambahan dan 102 penghapusan
  1. 3 0
      Client-Server.sln.DotSettings.user
  2. 1 1
      Config/StartConfig/LocalAllServer.txt
  3. 1 1
      Server/Model/Entity/Config/StartConfig.cs
  4. 1 1
      Server/Model/Server.Model.csproj
  5. 2 11
      Unity/Assets/Editor/ExcelExporterEditor/ExcelExporterEditor.cs
  6. 1 1
      Unity/Assets/Res/Config/GlobalProto.txt
  7. 1 1
      Unity/Assets/Scripts/Component/Config/StartConfig.cs
  8. 2 11
      Unity/Assets/Scripts/Entity/Config/UnitConfig.cs
  9. 0 9
      Unity/Assets/Scripts/Event.meta
  10. 3 1
      Unity/Assets/Scripts/Module/BehaviorTree/NodeDesignerProto.cs
  11. 12 22
      Unity/Assets/Scripts/Module/Config/ACategory.cs
  12. 0 16
      Unity/Assets/Scripts/Module/Config/AConfig.cs
  13. 12 17
      Unity/Assets/Scripts/Module/Config/ConfigComponent.cs
  14. 10 0
      Unity/Assets/Scripts/Module/Config/IConfig.cs
  15. 0 0
      Unity/Assets/Scripts/Module/Config/IConfig.cs.meta
  16. 16 0
      Unity/Assets/Scripts/Module/Message/Session.cs
  17. 0 8
      Unity/Assets/Scripts/MonoConfig.meta
  18. 1 1
      Unity/Assets/ThirdParty/ILRuntime/Generated.meta
  19. 102 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/CLRBindings.cs
  20. 1 1
      Unity/Assets/ThirdParty/ILRuntime/Generated/CLRBindings.cs.meta
  21. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_AEventAttribute_Binding.cs
  22. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_AEventAttribute_Binding.cs.meta
  23. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ActionHelper_Binding.cs
  24. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ActionHelper_Binding.cs.meta
  25. 46 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_CreateUnits_Binding.cs
  26. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_CreateUnits_Binding.cs.meta
  27. 60 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TestRequest_Binding.cs
  28. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TestRequest_Binding.cs.meta
  29. 60 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_Test_Binding.cs
  30. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_Test_Binding.cs.meta
  31. 60 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TransferRequest_Binding.cs
  32. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TransferRequest_Binding.cs.meta
  33. 47 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_C2G_EnterMap_Binding.cs
  34. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_C2G_EnterMap_Binding.cs.meta
  35. 46 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CameraComponent_Binding.cs
  36. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CameraComponent_Binding.cs.meta
  37. 46 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CanvasConfig_Binding.cs
  38. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CanvasConfig_Binding.cs.meta
  39. 60 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ClientDispatcher_Binding.cs
  40. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ClientDispatcher_Binding.cs.meta
  41. 74 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ComponentFactory_Binding.cs
  42. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ComponentFactory_Binding.cs.meta
  43. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Component_Binding.cs
  44. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Component_Binding.cs.meta
  45. 46 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Define_Binding.cs
  46. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Define_Binding.cs.meta
  47. 51 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Disposer_Binding.cs
  48. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Disposer_Binding.cs.meta
  49. 118 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_DoubleMap_2_UInt16_Type_Binding.cs
  50. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_DoubleMap_2_UInt16_Type_Binding.cs.meta
  51. 353 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Entity_Binding.cs
  52. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Entity_Binding.cs.meta
  53. 50 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventProxy_Binding.cs
  54. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventProxy_Binding.cs.meta
  55. 56 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventSystem_Binding.cs
  56. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventSystem_Binding.cs.meta
  57. 91 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Frame_ClickMap_Binding.cs
  58. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Frame_ClickMap_Binding.cs.meta
  59. 114 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GameObjectHelper_Binding.cs
  60. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GameObjectHelper_Binding.cs.meta
  61. 75 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Game_Binding.cs
  62. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Game_Binding.cs.meta
  63. 57 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalConfigComponent_Binding.cs
  64. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalConfigComponent_Binding.cs.meta
  65. 46 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalProto_Binding.cs
  66. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalProto_Binding.cs.meta
  67. 86 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Hotfix_Binding.cs
  68. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Hotfix_Binding.cs.meta
  69. 49 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_IdGenerater_Binding.cs
  70. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_IdGenerater_Binding.cs.meta
  71. 84 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Log_Binding.cs
  72. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Log_Binding.cs.meta
  73. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageAttribute_Binding.cs
  74. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageAttribute_Binding.cs.meta
  75. 56 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageDispatherComponent_Binding.cs
  76. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageDispatherComponent_Binding.cs.meta
  77. 176 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageInfo_Binding.cs
  78. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageInfo_Binding.cs.meta
  79. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageProxy_Binding.cs
  80. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageProxy_Binding.cs.meta
  81. 79 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MoveComponent_Binding.cs
  82. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MoveComponent_Binding.cs.meta
  83. 75 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkComponent_Binding.cs
  84. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkComponent_Binding.cs.meta
  85. 55 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkHelper_Binding.cs
  86. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkHelper_Binding.cs.meta
  87. 56 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_OpcodeTypeComponent_Binding.cs
  88. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_OpcodeTypeComponent_Binding.cs.meta
  89. 80 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PacketInfo_Binding.cs
  90. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PacketInfo_Binding.cs.meta
  91. 65 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PlayerComponent_Binding.cs
  92. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PlayerComponent_Binding.cs.meta
  93. 53 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Player_Binding.cs
  94. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Player_Binding.cs.meta
  95. 79 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ProtobufHelper_Binding.cs
  96. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ProtobufHelper_Binding.cs.meta
  97. 124 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ResourcesComponent_Binding.cs
  98. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ResourcesComponent_Binding.cs.meta
  99. 47 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Scene_Binding.cs
  100. 12 0
      Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Scene_Binding.cs.meta

+ 3 - 0
Client-Server.sln.DotSettings.user

@@ -7,6 +7,9 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APlayerFactory_002Ecs_002Fl_003AUnity_003FAssets_003FScripts_003FFactory_003FPlayerFactory_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUnitComponent_002Ecs_002Fl_003AUnity_003FAssets_003FScripts_003FComponent_003FUnitComponent_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">VISIBLE_FILES</s:String>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceForeachStatementBraces/@EntryIndexedValue">HINT</s:String>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceIfStatementBraces/@EntryIndexedValue">HINT</s:String>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceWhileStatementBraces/@EntryIndexedValue">HINT</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=Unity/@EntryIndexedValue">&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;Profile name="Unity"&gt;&lt;CSArrangeThisQualifier&gt;True&lt;/CSArrangeThisQualifier&gt;&lt;CSRemoveCodeRedundancies&gt;True&lt;/CSRemoveCodeRedundancies&gt;&lt;CSMakeFieldReadonly&gt;True&lt;/CSMakeFieldReadonly&gt;&lt;CSUseVar&gt;&lt;BehavourStyle&gt;DISABLED&lt;/BehavourStyle&gt;&lt;LocalVariableStyle&gt;IMPLICIT_WHEN_INITIALIZER_HAS_TYPE&lt;/LocalVariableStyle&gt;&lt;ForeachVariableStyle&gt;IMPLICIT_EXCEPT_SIMPLE_TYPES&lt;/ForeachVariableStyle&gt;&lt;/CSUseVar&gt;&lt;CSOptimizeUsings&gt;&lt;OptimizeUsings&gt;True&lt;/OptimizeUsings&gt;&lt;EmbraceInRegion&gt;False&lt;/EmbraceInRegion&gt;&lt;RegionName&gt;&lt;/RegionName&gt;&lt;/CSOptimizeUsings&gt;&lt;CSShortenReferences&gt;True&lt;/CSShortenReferences&gt;&lt;CSReformatCode&gt;True&lt;/CSReformatCode&gt;&lt;CSMakeAutoPropertyGetOnly&gt;True&lt;/CSMakeAutoPropertyGetOnly&gt;&lt;CSUseAutoProperty&gt;True&lt;/CSUseAutoProperty&gt;&lt;RemoveCodeRedundancies&gt;True&lt;/RemoveCodeRedundancies&gt;&lt;CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeBraces="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" ArrangeCodeBodyStyle="True" /&gt;&lt;/Profile&gt;</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeCleanup/RecentlyUsedProfile/@EntryValue">Unity</s:String>
 	<s:String x:Key="/Default/Housekeeping/Layout/DialogWindows/RefactoringWizardWindow/Location/@EntryValue">-41,-251</s:String>

+ 1 - 1
Config/StartConfig/LocalAllServer.txt

@@ -1 +1 @@
-{ "_t" : "StartConfig", "_id" : NumberLong("98547768819754"), "components" : [{ "_t" : "OuterConfig", "Host" : "127.0.0.1", "Port" : 10002, "Host2" : "127.0.0.1" }, { "_t" : "InnerConfig", "Host" : "127.0.0.1", "Port" : 20000 }, { "_t" : "HttpConfig", "Url" : "", "AppId" : 0, "AppKey" : "", "ManagerSystemUrl" : "" }, { "_t" : "DBConfig", "ConnectionString" : null, "DBName" : null }], "AppId" : 1, "AppType" : "AllServer", "ServerIP" : "*" }
+{ "_t" : "StartConfig", "_id" : NumberLong("98547768819754"), "components" : [{ "_t" : "OuterConfig", "Host" : "172.16.10.94", "Port" : 10002, "Host2" : "172.16.10.94" }, { "_t" : "InnerConfig", "Host" : "172.16.10.94", "Port" : 20000 }, { "_t" : "HttpConfig", "Url" : "", "AppId" : 0, "AppKey" : "", "ManagerSystemUrl" : "" }, { "_t" : "DBConfig", "ConnectionString" : null, "DBName" : null }], "AppId" : 1, "AppType" : "AllServer", "ServerIP" : "*" }

+ 1 - 1
Server/Model/Entity/Config/StartConfig.cs

@@ -3,7 +3,7 @@ using MongoDB.Bson.Serialization.Attributes;
 
 namespace ETModel
 {
-	public class StartConfig: AConfig
+	public class StartConfig: Entity
 	{
 		public int AppId { get; set; }
 

+ 1 - 1
Server/Model/Server.Model.csproj

@@ -66,9 +66,9 @@
     <Compile Include="..\..\Unity\Assets\Scripts\Component\Config\OuterConfig.cs" Link="Module\Message\OuterConfig.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Component\TimerComponent.cs" Link="Component\TimerComponent.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\Config\ACategory.cs" Link="Module\Config\ACategory.cs" />
-    <Compile Include="..\..\Unity\Assets\Scripts\Module\Config\AConfig.cs" Link="Module\Config\AConfig.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\Config\ConfigAttribute.cs" Link="Module\Config\ConfigAttribute.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\Config\ConfigComponent.cs" Link="Module\Config\ConfigComponent.cs" />
+    <Compile Include="..\..\Unity\Assets\Scripts\Module\Config\IConfig.cs" Link="Module\Config\IConfig.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\FrameSync\FrameMessage.cs" Link="Module\FrameSync\FrameMessage.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\Message\AMHandler.cs" Link="Module\Message\AMHandler.cs" />
     <Compile Include="..\..\Unity\Assets\Scripts\Module\Message\ErrorCode.cs" Link="Module\Message\ErrorCode.cs" />

+ 2 - 11
Unity/Assets/Editor/ExcelExporterEditor/ExcelExporterEditor.cs

@@ -126,20 +126,11 @@ public class ExcelExporterEditor : EditorWindow
 			sb.Append("\t[Config(AppType.Client)]\n");
 			sb.Append($"\tpublic partial class {protoName}Category : ACategory<{protoName}>\n");
 			sb.Append("\t{\n");
-			sb.Append($"\t\tpublic static void AvoidAOT(ConfigComponent configComponent, {protoName}Category category)\n");
-			sb.Append("\t\t{\n");
-			sb.Append($"\t\t\tconfigComponent.Get<{protoName}>(1);\n");
-			sb.Append($"\t\t\tconfigComponent.GetCategory<{protoName}Category>();\n");
-			sb.Append($"\t\t\tconfigComponent.GetAll<{protoName}>();\n");
-			sb.Append($"\t\t\tcategory.GetAll();\n");
-			sb.Append($"\t\t\t{protoName} config = category[1];\n");
-			sb.Append($"\t\t\tconfig = category.TryGet(1);\n");
-			sb.Append($"\t\t\tconfig = category.GetOne();\n");
-			sb.Append("\t\t}\n");
 			sb.Append("\t}\n\n");
 
-			sb.Append($"\tpublic class {protoName}: AConfig\n");
+			sb.Append($"\tpublic class {protoName}: IConfig\n");
 			sb.Append("\t{\n");
+			sb.Append("\t\tpublic long Id { get; set; }\n");
 
 			int cellCount = sheet.GetRow(3).LastCellNum;
 			

+ 1 - 1
Unity/Assets/Res/Config/GlobalProto.txt

@@ -1 +1 @@
-{"AssetBundleServerUrl":"http://127.0.0.1:8080/","Address":"127.0.0.1:10002"}
+{"AssetBundleServerUrl":"http://172.16.10.94:8080/","Address":"172.16.10.94:10002"}

+ 1 - 1
Unity/Assets/Scripts/Component/Config/StartConfig.cs

@@ -3,7 +3,7 @@ using MongoDB.Bson.Serialization.Attributes;
 
 namespace ETModel
 {
-	public class StartConfig: AConfig
+	public class StartConfig: Entity
 	{
 		public int AppId { get; set; }
 

+ 2 - 11
Unity/Assets/Scripts/Entity/Config/UnitConfig.cs

@@ -3,20 +3,11 @@ namespace ETModel
 	[Config(AppType.Client)]
 	public partial class UnitConfigCategory : ACategory<UnitConfig>
 	{
-		public static void AvoidAOT(ConfigComponent configComponent, UnitConfigCategory category)
-		{
-			configComponent.Get<UnitConfig>(1);
-			configComponent.GetCategory<UnitConfigCategory>();
-			configComponent.GetAll<UnitConfig>();
-			category.GetAll();
-			UnitConfig config = category[1];
-			config = category.TryGet(1);
-			config = category.GetOne();
-		}
 	}
 
-	public class UnitConfig: AConfig
+	public class UnitConfig: IConfig
 	{
+		public long Id { get; set; }
 		public string Name;
 		public string Desc;
 		public int Position;

+ 0 - 9
Unity/Assets/Scripts/Event.meta

@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: de79b1bf18100bf41aeb8e5bd55170bb
-folderAsset: yes
-timeCreated: 1506412331
-licenseType: Free
-DefaultImporter:
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 3 - 1
Unity/Assets/Scripts/Module/BehaviorTree/NodeDesignerProto.cs

@@ -1,10 +1,12 @@
 namespace ETModel
 {
-	public class NodeDesignerProto: AConfig
+	public class NodeDesignerProto: IConfig
 	{
 		public string name;
 		public float x = 0;
 		public float y = 0;
 		public bool fold = false;
+
+		public long Id { get; set; }
 	}
 }

+ 12 - 22
Unity/Assets/Scripts/Module/Config/ACategory.cs

@@ -7,21 +7,24 @@ namespace ETModel
 	public abstract class ACategory : Object
 	{
 		public abstract Type ConfigType { get; }
+		public abstract IConfig GetOne();
+		public abstract IConfig[] GetAll();
+		public abstract IConfig TryGet(int type);
 	}
 
 	/// <summary>
 	/// 管理该所有的配置
 	/// </summary>
 	/// <typeparam name="T"></typeparam>
-	public abstract class ACategory<T>: ACategory where T : AConfig
+	public abstract class ACategory<T> : ACategory where T : IConfig
 	{
-		protected Dictionary<long, T> dict;
+		protected Dictionary<long, IConfig> dict;
 
 		public override void BeginInit()
 		{
-			this.dict = new Dictionary<long, T>();
+			this.dict = new Dictionary<long, IConfig>();
 
-			string configStr = ConfigHelper.GetText(typeof (T).Name);
+			string configStr = ConfigHelper.GetText(typeof(T).Name);
 
 			foreach (string str in configStr.Split(new[] { "\n" }, StringSplitOptions.None))
 			{
@@ -46,7 +49,7 @@ namespace ETModel
 		{
 			get
 			{
-				return typeof (T);
+				return typeof(T);
 			}
 		}
 
@@ -54,22 +57,9 @@ namespace ETModel
 		{
 		}
 
-		public T this[long type]
+		public override IConfig TryGet(int type)
 		{
-			get
-			{
-				T t;
-				if (!this.dict.TryGetValue(type, out t))
-				{
-					throw new KeyNotFoundException($"{typeof (T)} 没有找到配置, key: {type}");
-				}
-				return t;
-			}
-		}
-
-		public T TryGet(int type)
-		{
-			T t;
+			IConfig t;
 			if (!this.dict.TryGetValue(type, out t))
 			{
 				return null;
@@ -77,12 +67,12 @@ namespace ETModel
 			return t;
 		}
 
-		public T[] GetAll()
+		public override IConfig[] GetAll()
 		{
 			return this.dict.Values.ToArray();
 		}
 
-		public T GetOne()
+		public override IConfig GetOne()
 		{
 			return this.dict.Values.First();
 		}

+ 0 - 16
Unity/Assets/Scripts/Module/Config/AConfig.cs

@@ -1,16 +0,0 @@
-namespace ETModel
-{
-	/// <summary>
-	/// 每个Config的基类
-	/// </summary>
-	public abstract class AConfig: Entity
-	{
-		protected AConfig()
-		{
-		}
-
-		protected AConfig(long id): base(id)
-		{
-		}
-	}
-}

+ 12 - 17
Unity/Assets/Scripts/Module/Config/ConfigComponent.cs

@@ -59,57 +59,52 @@ namespace ETModel
 			}
 		}
 
-		public T GetOne<T>() where T : AConfig
+		public IConfig GetOne(Type type)
 		{
-			Type type = typeof (T);
 			ACategory configCategory;
 			if (!this.allConfig.TryGetValue(type, out configCategory))
 			{
 				throw new Exception($"ConfigComponent not found key: {type.FullName}");
 			}
-			return ((ACategory<T>) configCategory).GetOne();
+			return configCategory.GetOne();
 		}
 
-		public T Get<T>(long id) where T : AConfig
+		public IConfig Get(Type type, int id)
 		{
-			Type type = typeof (T);
 			ACategory configCategory;
 			if (!this.allConfig.TryGetValue(type, out configCategory))
 			{
 				throw new Exception($"ConfigComponent not found key: {type.FullName}");
 			}
-			return ((ACategory<T>) configCategory)[id];
+
+			return configCategory.TryGet(id);
 		}
 
-		public T TryGet<T>(int id) where T : AConfig
+		public IConfig TryGet(Type type, int id)
 		{
-			Type type = typeof (T);
 			ACategory configCategory;
 			if (!this.allConfig.TryGetValue(type, out configCategory))
 			{
-				return default(T);
+				return null;
 			}
-			return ((ACategory<T>) configCategory).TryGet(id);
+			return configCategory.TryGet(id);
 		}
 
-		public T[] GetAll<T>() where T : AConfig
+		public IConfig[] GetAll(Type type)
 		{
-			Type type = typeof (T);
 			ACategory configCategory;
 			if (!this.allConfig.TryGetValue(type, out configCategory))
 			{
 				throw new Exception($"ConfigComponent not found key: {type.FullName}");
 			}
-			return ((ACategory<T>) configCategory).GetAll();
+			return configCategory.GetAll();
 		}
 
-		public T GetCategory<T>() where T : ACategory, new()
+		public ACategory GetCategory(Type type)
 		{
-			T t = new T();
-			Type type = t.ConfigType;
 			ACategory configCategory;
 			bool ret = this.allConfig.TryGetValue(type, out configCategory);
-			return ret? (T)configCategory : null;
+			return ret ? configCategory : null;
 		}
 	}
 }

+ 10 - 0
Unity/Assets/Scripts/Module/Config/IConfig.cs

@@ -0,0 +1,10 @@
+namespace ETModel
+{
+	/// <summary>
+	/// 每个Config的基类
+	/// </summary>
+	public interface IConfig
+	{
+		long Id { get; set; }
+	}
+}

+ 0 - 0
Unity/Assets/Scripts/Module/Config/AConfig.cs.meta → Unity/Assets/Scripts/Module/Config/IConfig.cs.meta


+ 16 - 0
Unity/Assets/Scripts/Module/Message/Session.cs

@@ -189,6 +189,10 @@ namespace ETModel
 			{
 				try
 				{
+					if (packetInfo.RpcId != rpcId)
+					{
+						return;
+					}
 					Type responseType = opcodeTypeComponent.GetType(packetInfo.Opcode);
 					object message = this.Network.MessagePacker.DeserializeFrom(responseType, packetInfo.Bytes, packetInfo.Index, packetInfo.Length);
 					IResponse response = (IResponse)message;
@@ -223,6 +227,10 @@ namespace ETModel
 			{
 				try
 				{
+					if (packetInfo.RpcId != rpcId)
+					{
+						return;
+					}
 					Type responseType = opcodeTypeComponent.GetType(packetInfo.Opcode);
 					object message = this.Network.MessagePacker.DeserializeFrom(responseType, packetInfo.Bytes, packetInfo.Index, packetInfo.Length);
 					IResponse response = (IResponse)message;
@@ -254,6 +262,10 @@ namespace ETModel
 			{
 				try
 				{
+					if (packetInfo.RpcId != rpcId)
+					{
+						return;
+					}
 					// 抛到外层不能再使用之前的byte[],因为那是Packet所有的,为了减少gc一直传到这个位置
 					byte[] newBytes = new byte[packetInfo.Length + packetInfo.Index];
 					Array.Copy(packetInfo.Bytes, 0, newBytes, 0, newBytes.Length);
@@ -279,6 +291,10 @@ namespace ETModel
 			{
 				try
 				{
+					if (packetInfo.RpcId != rpcId)
+					{
+						return;
+					}
 					// 抛到外层不能再使用之前的byte[],因为那是Packet所有的,为了减少gc一直传到这个位置
 					byte[] newBytes = new byte[packetInfo.Length + packetInfo.Index];
 					Array.Copy(packetInfo.Bytes, 0, newBytes, 0, newBytes.Length);

+ 0 - 8
Unity/Assets/Scripts/MonoConfig.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: c6e0e4d83fad46c3b1306e0c8fd35033
-folderAsset: yes
-timeCreated: 1504162083
-DefaultImporter:
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 1 - 1
Unity/Assets/ThirdParty/ILRuntime/Generated.meta

@@ -1,7 +1,7 @@
 fileFormatVersion: 2
 guid: 4b6cb67e0636d0b4ba21c0a44f5ed308
 folderAsset: yes
-timeCreated: 1519360736
+timeCreated: 1520318453
 licenseType: Free
 DefaultImporter:
   userData: 

+ 102 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/CLRBindings.cs

@@ -11,6 +11,108 @@ namespace ILRuntime.Runtime.Generated
         /// </summary>
         public static void Initialize(ILRuntime.Runtime.Enviorment.AppDomain app)
         {
+            System_NotImplementedException_Binding.Register(app);
+            System_String_Binding.Register(app);
+            ETModel_Define_Binding.Register(app);
+            System_Exception_Binding.Register(app);
+            System_Collections_IDictionary_Binding.Register(app);
+            System_Object_Binding.Register(app);
+            LitJson_JsonMapper_Binding.Register(app);
+            UnityEngine_LayerMask_Binding.Register(app);
+            UnityEngine_Input_Binding.Register(app);
+            UnityEngine_Camera_Binding.Register(app);
+            UnityEngine_Physics_Binding.Register(app);
+            UnityEngine_RaycastHit_Binding.Register(app);
+            ETModel_SessionComponent_Binding.Register(app);
+            ETModel_Frame_ClickMap_Binding.Register(app);
+            UnityEngine_Vector3_Binding.Register(app);
+            ETModel_Session_Binding.Register(app);
+            System_Runtime_CompilerServices_AsyncVoidMethodBuilder_Binding.Register(app);
+            System_Threading_Tasks_Task_1_ILTypeInstance_Binding.Register(app);
+            System_Runtime_CompilerServices_TaskAwaiter_1_ILTypeInstance_Binding.Register(app);
+            ETModel_Log_Binding.Register(app);
+            ETModel_Game_Binding.Register(app);
+            ETModel_Entity_Binding.Register(app);
+            ETModel_ResourcesComponent_Binding.Register(app);
+            ETModel_Actor_CreateUnits_Binding.Register(app);
+            System_Collections_Generic_List_1_UnitInfo_Binding.Register(app);
+            System_Collections_Generic_List_1_UnitInfo_Binding_Enumerator_Binding.Register(app);
+            ETModel_UnitInfo_Binding.Register(app);
+            ETModel_UnitComponent_Binding.Register(app);
+            ETModel_UnitFactory_Binding.Register(app);
+            ETModel_Unit_Binding.Register(app);
+            VInt3_Binding.Register(app);
+            ETModel_PlayerComponent_Binding.Register(app);
+            ETModel_Player_Binding.Register(app);
+            ETModel_Component_Binding.Register(app);
+            ETModel_CameraComponent_Binding.Register(app);
+            System_IDisposable_Binding.Register(app);
+            ETModel_Actor_Test_Binding.Register(app);
+            ETModel_MoveComponent_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_Type_ILTypeInstance_Binding.Register(app);
+            ETModel_Hotfix_Binding.Register(app);
+            System_Type_Binding.Register(app);
+            System_Reflection_MemberInfo_Binding.Register(app);
+            System_Activator_Binding.Register(app);
+            ETModel_GameObjectHelper_Binding.Register(app);
+            UnityEngine_TextAsset_Binding.Register(app);
+            //UnityEngine_Resources_Binding.Register(app);
+            ETModel_PacketInfo_Binding.Register(app);
+            ETModel_ProtobufHelper_Binding.Register(app);
+            ETModel_MessageInfo_Binding.Register(app);
+            System_Collections_Generic_HashSet_1_ILTypeInstance_Binding.Register(app);
+            System_Linq_Enumerable_Binding.Register(app);
+            System_Collections_Generic_HashSet_1_ILTypeInstance_Binding_Enumerator_Binding.Register(app);
+            ETModel_IdGenerater_Binding.Register(app);
+            System_Collections_Generic_List_1_Object_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_Int32_List_1_ILTypeInstance_Binding.Register(app);
+            System_Collections_Generic_List_1_ILTypeInstance_Binding.Register(app);
+            ETModel_UnOrderMultiMap_2_Type_ILTypeInstance_Binding.Register(app);
+            System_Collections_Generic_Queue_1_ILTypeInstance_Binding.Register(app);
+            System_Collections_Generic_List_1_ILTypeInstance_Binding_Enumerator_Binding.Register(app);
+            ETModel_AEventAttribute_Binding.Register(app);
+            ETModel_EventProxy_Binding.Register(app);
+            ETModel_EventSystem_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_Type_Queue_1_ILTypeInstance_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_UInt16_List_1_ILTypeInstance_Binding.Register(app);
+            ETModel_OpcodeTypeComponent_Binding.Register(app);
+            ETModel_MessageProxy_Binding.Register(app);
+            ETModel_MessageDispatherComponent_Binding.Register(app);
+            ETModel_MessageAttribute_Binding.Register(app);
+            ETModel_DoubleMap_2_UInt16_Type_Binding.Register(app);
+            ProtoBuf_PType_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_UIType_ILTypeInstance_Binding.Register(app);
+            UnityEngine_GameObject_Binding.Register(app);
+            ETModel_UIFactoryAttribute_Binding.Register(app);
+            ETModel_CanvasConfig_Binding.Register(app);
+            UnityEngine_Transform_Binding.Register(app);
+            System_Collections_Generic_List_1_UIType_Binding.Register(app);
+            ETModel_Disposer_Binding.Register(app);
+            ETModel_Scene_Binding.Register(app);
+            System_Runtime_CompilerServices_AsyncTaskMethodBuilder_1_ILTypeInstance_Binding.Register(app);
+            System_Threading_Tasks_Task_1_PacketInfo_Binding.Register(app);
+            System_Runtime_CompilerServices_TaskAwaiter_1_PacketInfo_Binding.Register(app);
+            UnityEngine_Object_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_String_ILTypeInstance_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_String_ILTypeInstance_Binding_ValueCollection_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_String_ILTypeInstance_Binding_ValueCollection_Binding_Enumerator_Binding.Register(app);
+            UnityEngine_Component_Binding.Register(app);
+            ETModel_ClientDispatcher_Binding.Register(app);
+            ETModel_NetworkComponent_Binding.Register(app);
+            ReferenceCollector_Binding.Register(app);
+            UnityEngine_UI_Button_Binding.Register(app);
+            ETModel_ActionHelper_Binding.Register(app);
+            ETModel_Actor_TestRequest_Binding.Register(app);
+            System_Threading_Tasks_Task_1_IResponse_Binding.Register(app);
+            System_Runtime_CompilerServices_TaskAwaiter_1_IResponse_Binding.Register(app);
+            ETModel_Actor_TransferRequest_Binding.Register(app);
+            ETModel_C2G_EnterMap_Binding.Register(app);
+            ETModel_GlobalConfigComponent_Binding.Register(app);
+            ETModel_GlobalProto_Binding.Register(app);
+            ETModel_NetworkHelper_Binding.Register(app);
+            UnityEngine_UI_InputField_Binding.Register(app);
+            ETModel_ComponentFactory_Binding.Register(app);
+            System_Collections_Generic_Dictionary_2_Int64_ILTypeInstance_Binding.Register(app);
         }
     }
 }

+ 1 - 1
Unity/Assets/ThirdParty/ILRuntime/Generated/CLRBindings.cs.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 777defee4c58efe4ab78f0c6a1914a33
-timeCreated: 1519360736
+timeCreated: 1520319207
 licenseType: Free
 MonoImporter:
   serializedVersion: 2

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_AEventAttribute_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_AEventAttribute_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.AEventAttribute);
+            args = new Type[]{};
+            method = type.GetMethod("get_Type", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Type_0);
+
+
+        }
+
+
+        static StackObject* get_Type_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.AEventAttribute instance_of_this_method;
+            instance_of_this_method = (ETModel.AEventAttribute)typeof(ETModel.AEventAttribute).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.Type;
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_AEventAttribute_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1bd68ad0480757044a0d177460936820
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ActionHelper_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_ActionHelper_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.ActionHelper);
+            args = new Type[]{typeof(UnityEngine.UI.Button.ButtonClickedEvent), typeof(System.Action)};
+            method = type.GetMethod("Add", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Add_0);
+
+
+        }
+
+
+        static StackObject* Add_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Action action = (System.Action)typeof(System.Action).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            UnityEngine.UI.Button.ButtonClickedEvent buttonClickedEvent = (UnityEngine.UI.Button.ButtonClickedEvent)typeof(UnityEngine.UI.Button.ButtonClickedEvent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            ETModel.ActionHelper.Add(buttonClickedEvent, action);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ActionHelper_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7b1cd9bfd2fee694980a97e294dea623
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_CreateUnits_Binding.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Actor_CreateUnits_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Actor_CreateUnits);
+
+            field = type.GetField("Units", flag);
+            app.RegisterCLRFieldGetter(field, get_Units_0);
+            app.RegisterCLRFieldSetter(field, set_Units_0);
+
+
+        }
+
+
+
+        static object get_Units_0(ref object o)
+        {
+            return ((ETModel.Actor_CreateUnits)o).Units;
+        }
+        static void set_Units_0(ref object o, object v)
+        {
+            ((ETModel.Actor_CreateUnits)o).Units = (System.Collections.Generic.List<ETModel.UnitInfo>)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_CreateUnits_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 49d6836b57f6b4548bc5dc53a02646a9
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 60 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TestRequest_Binding.cs

@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Actor_TestRequest_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Actor_TestRequest);
+
+            field = type.GetField("request", flag);
+            app.RegisterCLRFieldGetter(field, get_request_0);
+            app.RegisterCLRFieldSetter(field, set_request_0);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static object get_request_0(ref object o)
+        {
+            return ((ETModel.Actor_TestRequest)o).request;
+        }
+        static void set_request_0(ref object o, object v)
+        {
+            ((ETModel.Actor_TestRequest)o).request = (System.String)v;
+        }
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.Actor_TestRequest();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TestRequest_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f0c8211301dd10a49a516e14db1974ca
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 60 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_Test_Binding.cs

@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Actor_Test_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Actor_Test);
+
+            field = type.GetField("Info", flag);
+            app.RegisterCLRFieldGetter(field, get_Info_0);
+            app.RegisterCLRFieldSetter(field, set_Info_0);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static object get_Info_0(ref object o)
+        {
+            return ((ETModel.Actor_Test)o).Info;
+        }
+        static void set_Info_0(ref object o, object v)
+        {
+            ((ETModel.Actor_Test)o).Info = (System.String)v;
+        }
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.Actor_Test();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_Test_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a0b002b5259b84a48aad25d3da31d3de
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 60 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TransferRequest_Binding.cs

@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Actor_TransferRequest_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Actor_TransferRequest);
+
+            field = type.GetField("MapIndex", flag);
+            app.RegisterCLRFieldGetter(field, get_MapIndex_0);
+            app.RegisterCLRFieldSetter(field, set_MapIndex_0);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static object get_MapIndex_0(ref object o)
+        {
+            return ((ETModel.Actor_TransferRequest)o).MapIndex;
+        }
+        static void set_MapIndex_0(ref object o, object v)
+        {
+            ((ETModel.Actor_TransferRequest)o).MapIndex = (System.Int32)v;
+        }
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.Actor_TransferRequest();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Actor_TransferRequest_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 26c190e368b2eab4bbbdfcf3dbe62120
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 47 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_C2G_EnterMap_Binding.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_C2G_EnterMap_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.C2G_EnterMap);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.C2G_EnterMap();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_C2G_EnterMap_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a4faf6087f637da4f8720882c9f0a52a
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CameraComponent_Binding.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_CameraComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.CameraComponent);
+
+            field = type.GetField("Unit", flag);
+            app.RegisterCLRFieldGetter(field, get_Unit_0);
+            app.RegisterCLRFieldSetter(field, set_Unit_0);
+
+
+        }
+
+
+
+        static object get_Unit_0(ref object o)
+        {
+            return ((ETModel.CameraComponent)o).Unit;
+        }
+        static void set_Unit_0(ref object o, object v)
+        {
+            ((ETModel.CameraComponent)o).Unit = (ETModel.Unit)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CameraComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4ce1d56f998edaa4dae1174ea56b3a01
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CanvasConfig_Binding.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_CanvasConfig_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.CanvasConfig);
+
+            field = type.GetField("CanvasName", flag);
+            app.RegisterCLRFieldGetter(field, get_CanvasName_0);
+            app.RegisterCLRFieldSetter(field, set_CanvasName_0);
+
+
+        }
+
+
+
+        static object get_CanvasName_0(ref object o)
+        {
+            return ((ETModel.CanvasConfig)o).CanvasName;
+        }
+        static void set_CanvasName_0(ref object o, object v)
+        {
+            ((ETModel.CanvasConfig)o).CanvasName = (System.String)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_CanvasConfig_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e6af520bd4473084cb13c7fe437cbeb0
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 60 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ClientDispatcher_Binding.cs

@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_ClientDispatcher_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.ClientDispatcher);
+
+            field = type.GetField("HotfixCallback", flag);
+            app.RegisterCLRFieldGetter(field, get_HotfixCallback_0);
+            app.RegisterCLRFieldSetter(field, set_HotfixCallback_0);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static object get_HotfixCallback_0(ref object o)
+        {
+            return ((ETModel.ClientDispatcher)o).HotfixCallback;
+        }
+        static void set_HotfixCallback_0(ref object o, object v)
+        {
+            ((ETModel.ClientDispatcher)o).HotfixCallback = (System.Action<ETModel.Session, ETModel.PacketInfo>)v;
+        }
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.ClientDispatcher();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ClientDispatcher_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1f317128d11eedf47bdbdcba1419657c
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 74 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ComponentFactory_Binding.cs

@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_ComponentFactory_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.ComponentFactory);
+            Dictionary<string, List<MethodInfo>> genericMethods = new Dictionary<string, List<MethodInfo>>();
+            List<MethodInfo> lst = null;                    
+            foreach(var m in type.GetMethods())
+            {
+                if(m.IsGenericMethodDefinition)
+                {
+                    if (!genericMethods.TryGetValue(m.Name, out lst))
+                    {
+                        lst = new List<MethodInfo>();
+                        genericMethods[m.Name] = lst;
+                    }
+                    lst.Add(m);
+                }
+            }
+            args = new Type[]{typeof(ETModel.Player)};
+            if (genericMethods.TryGetValue("CreateWithId", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 1)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, CreateWithId_0);
+
+                        break;
+                    }
+                }
+            }
+
+
+        }
+
+
+        static StackObject* CreateWithId_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Int64 id = *(long*)&ptr_of_this_method->Value;
+
+            var result_of_this_method = ETModel.ComponentFactory.CreateWithId<ETModel.Player>(id);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ComponentFactory_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f5cd6e194dde82543904adff8df58870
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Component_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Component_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Component);
+            args = new Type[]{};
+            method = type.GetMethod("get_Id", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Id_0);
+
+
+        }
+
+
+        static StackObject* get_Id_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Component instance_of_this_method;
+            instance_of_this_method = (ETModel.Component)typeof(ETModel.Component).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.Id;
+
+            __ret->ObjectType = ObjectTypes.Long;
+            *(long*)&__ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Component_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 90f66ecce46172d45b2430ac26ebce12
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Define_Binding.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Define_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Define);
+
+            field = type.GetField("IsILRuntime", flag);
+            app.RegisterCLRFieldGetter(field, get_IsILRuntime_0);
+            app.RegisterCLRFieldSetter(field, set_IsILRuntime_0);
+
+
+        }
+
+
+
+        static object get_IsILRuntime_0(ref object o)
+        {
+            return ETModel.Define.IsILRuntime;
+        }
+        static void set_IsILRuntime_0(ref object o, object v)
+        {
+            ETModel.Define.IsILRuntime = (System.Boolean)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Define_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7cb7a597359ae20438b94e329dadff48
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 51 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Disposer_Binding.cs

@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Disposer_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Disposer);
+            args = new Type[]{};
+            method = type.GetMethod("Dispose", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Dispose_0);
+
+
+        }
+
+
+        static StackObject* Dispose_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Disposer instance_of_this_method;
+            instance_of_this_method = (ETModel.Disposer)typeof(ETModel.Disposer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.Dispose();
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Disposer_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d61ffdec0a7f0264ab9932cf164ba5cb
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 118 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_DoubleMap_2_UInt16_Type_Binding.cs

@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_DoubleMap_2_UInt16_Type_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.DoubleMap<System.UInt16, System.Type>);
+            args = new Type[]{typeof(System.UInt16), typeof(System.Type)};
+            method = type.GetMethod("Add", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Add_0);
+            args = new Type[]{typeof(System.Type)};
+            method = type.GetMethod("GetKeyByValue", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, GetKeyByValue_1);
+            args = new Type[]{typeof(System.UInt16)};
+            method = type.GetMethod("GetValueByKey", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, GetValueByKey_2);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+        static StackObject* Add_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Type value = (System.Type)typeof(System.Type).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            System.UInt16 key = (ushort)ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
+            ETModel.DoubleMap<System.UInt16, System.Type> instance_of_this_method;
+            instance_of_this_method = (ETModel.DoubleMap<System.UInt16, System.Type>)typeof(ETModel.DoubleMap<System.UInt16, System.Type>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.Add(key, value);
+
+            return __ret;
+        }
+
+        static StackObject* GetKeyByValue_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Type value = (System.Type)typeof(System.Type).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            ETModel.DoubleMap<System.UInt16, System.Type> instance_of_this_method;
+            instance_of_this_method = (ETModel.DoubleMap<System.UInt16, System.Type>)typeof(ETModel.DoubleMap<System.UInt16, System.Type>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetKeyByValue(value);
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+        static StackObject* GetValueByKey_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.UInt16 key = (ushort)ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            ETModel.DoubleMap<System.UInt16, System.Type> instance_of_this_method;
+            instance_of_this_method = (ETModel.DoubleMap<System.UInt16, System.Type>)typeof(ETModel.DoubleMap<System.UInt16, System.Type>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetValueByKey(key);
+
+            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* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.DoubleMap<System.UInt16, System.Type>();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_DoubleMap_2_UInt16_Type_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f89be90d624841a4aa1570870f2c46c3
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 353 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Entity_Binding.cs

@@ -0,0 +1,353 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Entity_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Entity);
+            Dictionary<string, List<MethodInfo>> genericMethods = new Dictionary<string, List<MethodInfo>>();
+            List<MethodInfo> lst = null;                    
+            foreach(var m in type.GetMethods())
+            {
+                if(m.IsGenericMethodDefinition)
+                {
+                    if (!genericMethods.TryGetValue(m.Name, out lst))
+                    {
+                        lst = new List<MethodInfo>();
+                        genericMethods[m.Name] = lst;
+                    }
+                    lst.Add(m);
+                }
+            }
+            args = new Type[]{typeof(ETModel.ResourcesComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_0);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.UnitComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_1);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.CameraComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_2);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.MoveComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_3);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.MessageDispatherComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_4);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.OpcodeTypeComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_5);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.NetOuterComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_6);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.SessionComponent)};
+            if (genericMethods.TryGetValue("AddComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, AddComponent_7);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(ETModel.PlayerComponent)};
+            if (genericMethods.TryGetValue("GetComponent", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 0)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetComponent_8);
+
+                        break;
+                    }
+                }
+            }
+
+
+        }
+
+
+        static StackObject* GetComponent_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.ResourcesComponent>();
+
+            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* GetComponent_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.UnitComponent>();
+
+            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* GetComponent_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.CameraComponent>();
+
+            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* GetComponent_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.MoveComponent>();
+
+            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* GetComponent_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.MessageDispatherComponent>();
+
+            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* GetComponent_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.OpcodeTypeComponent>();
+
+            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* GetComponent_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.NetOuterComponent>();
+
+            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* AddComponent_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.AddComponent<ETModel.SessionComponent>();
+
+            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* GetComponent_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Entity instance_of_this_method;
+            instance_of_this_method = (ETModel.Entity)typeof(ETModel.Entity).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetComponent<ETModel.PlayerComponent>();
+
+            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);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Entity_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 12e0e1b08a2de1647bd6c4a54c9aec37
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 50 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventProxy_Binding.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_EventProxy_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.EventProxy);
+
+            args = new Type[]{typeof(System.Action<System.Collections.Generic.List<System.Object>>)};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Action<System.Collections.Generic.List<System.Object>> action = (System.Action<System.Collections.Generic.List<System.Object>>)typeof(System.Action<System.Collections.Generic.List<System.Object>>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = new ETModel.EventProxy(action);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventProxy_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 590372a2930ad7c42bab3cd03dd2217f
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 56 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventSystem_Binding.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_EventSystem_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.EventSystem);
+            args = new Type[]{typeof(System.Int32), typeof(ETModel.IEvent)};
+            method = type.GetMethod("RegisterEvent", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, RegisterEvent_0);
+
+
+        }
+
+
+        static StackObject* RegisterEvent_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.IEvent e = (ETModel.IEvent)typeof(ETModel.IEvent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            System.Int32 eventId = ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
+            ETModel.EventSystem instance_of_this_method;
+            instance_of_this_method = (ETModel.EventSystem)typeof(ETModel.EventSystem).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.RegisterEvent(eventId, e);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_EventSystem_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a1713fbb09f67f748950b148932c2c26
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 91 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Frame_ClickMap_Binding.cs

@@ -0,0 +1,91 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Frame_ClickMap_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Frame_ClickMap);
+            args = new Type[]{};
+            method = type.GetMethod("get_Id", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Id_0);
+
+            field = type.GetField("X", flag);
+            app.RegisterCLRFieldGetter(field, get_X_0);
+            app.RegisterCLRFieldSetter(field, set_X_0);
+            field = type.GetField("Z", flag);
+            app.RegisterCLRFieldGetter(field, get_Z_1);
+            app.RegisterCLRFieldSetter(field, set_Z_1);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+        static StackObject* get_Id_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Frame_ClickMap instance_of_this_method;
+            instance_of_this_method = (ETModel.Frame_ClickMap)typeof(ETModel.Frame_ClickMap).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.Id;
+
+            __ret->ObjectType = ObjectTypes.Long;
+            *(long*)&__ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+        static object get_X_0(ref object o)
+        {
+            return ((ETModel.Frame_ClickMap)o).X;
+        }
+        static void set_X_0(ref object o, object v)
+        {
+            ((ETModel.Frame_ClickMap)o).X = (System.Int32)v;
+        }
+        static object get_Z_1(ref object o)
+        {
+            return ((ETModel.Frame_ClickMap)o).Z;
+        }
+        static void set_Z_1(ref object o, object v)
+        {
+            ((ETModel.Frame_ClickMap)o).Z = (System.Int32)v;
+        }
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.Frame_ClickMap();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Frame_ClickMap_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4432db3d22876c046a70c352f0ffcd3e
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 114 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GameObjectHelper_Binding.cs

@@ -0,0 +1,114 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_GameObjectHelper_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.GameObjectHelper);
+            Dictionary<string, List<MethodInfo>> genericMethods = new Dictionary<string, List<MethodInfo>>();
+            List<MethodInfo> lst = null;                    
+            foreach(var m in type.GetMethods())
+            {
+                if(m.IsGenericMethodDefinition)
+                {
+                    if (!genericMethods.TryGetValue(m.Name, out lst))
+                    {
+                        lst = new List<MethodInfo>();
+                        genericMethods[m.Name] = lst;
+                    }
+                    lst.Add(m);
+                }
+            }
+            args = new Type[]{typeof(UnityEngine.TextAsset)};
+            if (genericMethods.TryGetValue("Get", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 2)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, Get_0);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(UnityEngine.GameObject)};
+            if (genericMethods.TryGetValue("Get", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 2)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, Get_1);
+
+                        break;
+                    }
+                }
+            }
+
+
+        }
+
+
+        static StackObject* Get_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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 key = (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);
+            UnityEngine.GameObject gameObject = (UnityEngine.GameObject)typeof(UnityEngine.GameObject).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = ETModel.GameObjectHelper.Get<UnityEngine.TextAsset>(gameObject, key);
+
+            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* Get_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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 key = (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);
+            UnityEngine.GameObject gameObject = (UnityEngine.GameObject)typeof(UnityEngine.GameObject).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = ETModel.GameObjectHelper.Get<UnityEngine.GameObject>(gameObject, key);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GameObjectHelper_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 03ce590c180540e458387bad56a93b3b
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 75 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Game_Binding.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Game_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Game);
+            args = new Type[]{};
+            method = type.GetMethod("get_Scene", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Scene_0);
+            args = new Type[]{};
+            method = type.GetMethod("get_Hotfix", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Hotfix_1);
+            args = new Type[]{};
+            method = type.GetMethod("get_EventSystem", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_EventSystem_2);
+
+
+        }
+
+
+        static StackObject* get_Scene_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = ETModel.Game.Scene;
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+        static StackObject* get_Hotfix_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = ETModel.Game.Hotfix;
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+        static StackObject* get_EventSystem_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = ETModel.Game.EventSystem;
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Game_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e3321e791e94baf45bc1699c60f6181a
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 57 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalConfigComponent_Binding.cs

@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_GlobalConfigComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.GlobalConfigComponent);
+
+            field = type.GetField("Instance", flag);
+            app.RegisterCLRFieldGetter(field, get_Instance_0);
+            app.RegisterCLRFieldSetter(field, set_Instance_0);
+            field = type.GetField("GlobalProto", flag);
+            app.RegisterCLRFieldGetter(field, get_GlobalProto_1);
+            app.RegisterCLRFieldSetter(field, set_GlobalProto_1);
+
+
+        }
+
+
+
+        static object get_Instance_0(ref object o)
+        {
+            return ETModel.GlobalConfigComponent.Instance;
+        }
+        static void set_Instance_0(ref object o, object v)
+        {
+            ETModel.GlobalConfigComponent.Instance = (ETModel.GlobalConfigComponent)v;
+        }
+        static object get_GlobalProto_1(ref object o)
+        {
+            return ((ETModel.GlobalConfigComponent)o).GlobalProto;
+        }
+        static void set_GlobalProto_1(ref object o, object v)
+        {
+            ((ETModel.GlobalConfigComponent)o).GlobalProto = (ETModel.GlobalProto)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalConfigComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d324f155d7f4f2d4ab5ae10d37ab148a
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalProto_Binding.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_GlobalProto_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.GlobalProto);
+
+            field = type.GetField("Address", flag);
+            app.RegisterCLRFieldGetter(field, get_Address_0);
+            app.RegisterCLRFieldSetter(field, set_Address_0);
+
+
+        }
+
+
+
+        static object get_Address_0(ref object o)
+        {
+            return ((ETModel.GlobalProto)o).Address;
+        }
+        static void set_Address_0(ref object o, object v)
+        {
+            ((ETModel.GlobalProto)o).Address = (System.String)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_GlobalProto_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: caa4382f28664b9498a5cf181445bf0a
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 86 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Hotfix_Binding.cs

@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Hotfix_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Hotfix);
+            args = new Type[]{};
+            method = type.GetMethod("GetHotfixTypes", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, GetHotfixTypes_0);
+
+            field = type.GetField("Update", flag);
+            app.RegisterCLRFieldGetter(field, get_Update_0);
+            app.RegisterCLRFieldSetter(field, set_Update_0);
+            field = type.GetField("LateUpdate", flag);
+            app.RegisterCLRFieldGetter(field, get_LateUpdate_1);
+            app.RegisterCLRFieldSetter(field, set_LateUpdate_1);
+            field = type.GetField("OnApplicationQuit", flag);
+            app.RegisterCLRFieldGetter(field, get_OnApplicationQuit_2);
+            app.RegisterCLRFieldSetter(field, set_OnApplicationQuit_2);
+
+
+        }
+
+
+        static StackObject* GetHotfixTypes_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Hotfix instance_of_this_method;
+            instance_of_this_method = (ETModel.Hotfix)typeof(ETModel.Hotfix).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetHotfixTypes();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+        static object get_Update_0(ref object o)
+        {
+            return ((ETModel.Hotfix)o).Update;
+        }
+        static void set_Update_0(ref object o, object v)
+        {
+            ((ETModel.Hotfix)o).Update = (System.Action)v;
+        }
+        static object get_LateUpdate_1(ref object o)
+        {
+            return ((ETModel.Hotfix)o).LateUpdate;
+        }
+        static void set_LateUpdate_1(ref object o, object v)
+        {
+            ((ETModel.Hotfix)o).LateUpdate = (System.Action)v;
+        }
+        static object get_OnApplicationQuit_2(ref object o)
+        {
+            return ((ETModel.Hotfix)o).OnApplicationQuit;
+        }
+        static void set_OnApplicationQuit_2(ref object o, object v)
+        {
+            ((ETModel.Hotfix)o).OnApplicationQuit = (System.Action)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Hotfix_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6e6c0daa8ab89874e898f6e091936005
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 49 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_IdGenerater_Binding.cs

@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_IdGenerater_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.IdGenerater);
+            args = new Type[]{};
+            method = type.GetMethod("GenerateId", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, GenerateId_0);
+
+
+        }
+
+
+        static StackObject* GenerateId_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = ETModel.IdGenerater.GenerateId();
+
+            __ret->ObjectType = ObjectTypes.Long;
+            *(long*)&__ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_IdGenerater_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d1329824a2f780c4b931db70657cb48c
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 84 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Log_Binding.cs

@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Log_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Log);
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("Info", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Info_0);
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("Debug", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Debug_1);
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("Error", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Error_2);
+
+
+        }
+
+
+        static StackObject* Info_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.String msg = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            ETModel.Log.Info(msg);
+
+            return __ret;
+        }
+
+        static StackObject* Debug_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.String msg = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            ETModel.Log.Debug(msg);
+
+            return __ret;
+        }
+
+        static StackObject* Error_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.String msg = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            ETModel.Log.Error(msg);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Log_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0040996dffd6f064d9f710ba82ad015d
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageAttribute_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_MessageAttribute_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.MessageAttribute);
+            args = new Type[]{};
+            method = type.GetMethod("get_Opcode", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Opcode_0);
+
+
+        }
+
+
+        static StackObject* get_Opcode_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.MessageAttribute instance_of_this_method;
+            instance_of_this_method = (ETModel.MessageAttribute)typeof(ETModel.MessageAttribute).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.Opcode;
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageAttribute_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b7304de84826e964b9d4fb4bb29b8de1
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 56 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageDispatherComponent_Binding.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_MessageDispatherComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.MessageDispatherComponent);
+            args = new Type[]{typeof(System.UInt16), typeof(ETModel.IMHandler)};
+            method = type.GetMethod("RegisterHandler", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, RegisterHandler_0);
+
+
+        }
+
+
+        static StackObject* RegisterHandler_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.IMHandler handler = (ETModel.IMHandler)typeof(ETModel.IMHandler).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            System.UInt16 opcode = (ushort)ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
+            ETModel.MessageDispatherComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.MessageDispatherComponent)typeof(ETModel.MessageDispatherComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.RegisterHandler(opcode, handler);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageDispatherComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5e0e25cac8901934cb28072de4a89cad
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 176 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageInfo_Binding.cs

@@ -0,0 +1,176 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_MessageInfo_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.MessageInfo);
+            args = new Type[]{};
+            method = type.GetMethod("get_Opcode", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Opcode_0);
+            args = new Type[]{};
+            method = type.GetMethod("get_Message", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Message_1);
+            args = new Type[]{};
+            method = type.GetMethod("get_RpcId", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_RpcId_2);
+
+            app.RegisterCLRCreateDefaultInstance(type, () => new ETModel.MessageInfo());
+
+            args = new Type[]{typeof(System.UInt32), typeof(System.UInt16), typeof(System.Object)};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+        static void WriteBackInstance(ILRuntime.Runtime.Enviorment.AppDomain __domain, StackObject* ptr_of_this_method, IList<object> __mStack, ref ETModel.MessageInfo instance_of_this_method)
+        {
+            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
+            switch(ptr_of_this_method->ObjectType)
+            {
+                case ObjectTypes.Object:
+                    {
+                        __mStack[ptr_of_this_method->Value] = instance_of_this_method;
+                    }
+                    break;
+                case ObjectTypes.FieldReference:
+                    {
+                        var ___obj = __mStack[ptr_of_this_method->Value];
+                        if(___obj is ILTypeInstance)
+                        {
+                            ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                        }
+                        else
+                        {
+                            var t = __domain.GetType(___obj.GetType()) as CLRType;
+                            t.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, instance_of_this_method);
+                        }
+                    }
+                    break;
+                case ObjectTypes.StaticFieldReference:
+                    {
+                        var t = __domain.GetType(ptr_of_this_method->Value);
+                        if(t is ILType)
+                        {
+                            ((ILType)t).StaticInstance[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                        }
+                        else
+                        {
+                            ((CLRType)t).SetStaticFieldValue(ptr_of_this_method->ValueLow, instance_of_this_method);
+                        }
+                    }
+                    break;
+                 case ObjectTypes.ArrayReference:
+                    {
+                        var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.MessageInfo[];
+                        instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                    }
+                    break;
+            }
+        }
+
+        static StackObject* get_Opcode_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
+            ETModel.MessageInfo instance_of_this_method;
+            instance_of_this_method = (ETModel.MessageInfo)typeof(ETModel.MessageInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+
+            var result_of_this_method = instance_of_this_method.Opcode;
+
+            WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+        static StackObject* get_Message_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
+            ETModel.MessageInfo instance_of_this_method;
+            instance_of_this_method = (ETModel.MessageInfo)typeof(ETModel.MessageInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+
+            var result_of_this_method = instance_of_this_method.Message;
+
+            WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
+
+            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, true);
+            }
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method, true);
+        }
+
+        static StackObject* get_RpcId_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
+            ETModel.MessageInfo instance_of_this_method;
+            instance_of_this_method = (ETModel.MessageInfo)typeof(ETModel.MessageInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+
+            var result_of_this_method = instance_of_this_method.RpcId;
+
+            WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = (int)result_of_this_method;
+            return __ret + 1;
+        }
+
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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 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.UInt16 opcode = (ushort)ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
+            System.UInt32 rpcId = (uint)ptr_of_this_method->Value;
+
+            var result_of_this_method = new ETModel.MessageInfo(rpcId, opcode, message);
+
+            if(!isNewObj)
+            {
+                __ret--;
+                WriteBackInstance(__domain, __ret, __mStack, ref result_of_this_method);
+                return __ret;
+            }
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageInfo_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a7123bbc98799af41a8ed4d7561ffddf
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageProxy_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_MessageProxy_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.MessageProxy);
+
+            args = new Type[]{typeof(System.Type), typeof(System.Action<ETModel.Session, System.UInt32, System.Object>)};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Action<ETModel.Session, System.UInt32, System.Object> action = (System.Action<ETModel.Session, System.UInt32, System.Object>)typeof(System.Action<ETModel.Session, System.UInt32, 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.Type type = (System.Type)typeof(System.Type).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = new ETModel.MessageProxy(type, action);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MessageProxy_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5c722a15f88e66041a513ed773bb8f1f
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 79 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MoveComponent_Binding.cs

@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_MoveComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.MoveComponent);
+            args = new Type[]{typeof(UnityEngine.Vector3), typeof(System.Single)};
+            method = type.GetMethod("MoveToDest", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, MoveToDest_0);
+            args = new Type[]{typeof(UnityEngine.Vector3), typeof(System.Single)};
+            method = type.GetMethod("Turn2D", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Turn2D_1);
+
+
+        }
+
+
+        static StackObject* MoveToDest_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Single speedValue = *(float*)&ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            UnityEngine.Vector3 dest = (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);
+            ETModel.MoveComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.MoveComponent)typeof(ETModel.MoveComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.MoveToDest(dest, speedValue);
+
+            return __ret;
+        }
+
+        static StackObject* Turn2D_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Single turnTime = *(float*)&ptr_of_this_method->Value;
+            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);
+            ETModel.MoveComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.MoveComponent)typeof(ETModel.MoveComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.Turn2D(dir, turnTime);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_MoveComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c0a7282819776ad4a990f7c8e2e0b93c
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 75 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkComponent_Binding.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_NetworkComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.NetworkComponent);
+            args = new Type[]{typeof(ETModel.IMessageDispatcher)};
+            method = type.GetMethod("set_MessageDispatcher", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, set_MessageDispatcher_0);
+            args = new Type[]{typeof(System.Net.IPEndPoint)};
+            method = type.GetMethod("Create", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Create_1);
+
+
+        }
+
+
+        static StackObject* set_MessageDispatcher_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.IMessageDispatcher value = (ETModel.IMessageDispatcher)typeof(ETModel.IMessageDispatcher).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            ETModel.NetworkComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.NetworkComponent)typeof(ETModel.NetworkComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.MessageDispatcher = value;
+
+            return __ret;
+        }
+
+        static StackObject* Create_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Net.IPEndPoint ipEndPoint = (System.Net.IPEndPoint)typeof(System.Net.IPEndPoint).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            ETModel.NetworkComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.NetworkComponent)typeof(ETModel.NetworkComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.Create(ipEndPoint);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2d931237947cb1a48913f364b91d5b2e
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 55 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkHelper_Binding.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_NetworkHelper_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.NetworkHelper);
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("ToIPEndPoint", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, ToIPEndPoint_0);
+
+
+        }
+
+
+        static StackObject* ToIPEndPoint_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.String address = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = ETModel.NetworkHelper.ToIPEndPoint(address);
+
+            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);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_NetworkHelper_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7c05f452532f993409a221f40ca80d5d
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 56 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_OpcodeTypeComponent_Binding.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_OpcodeTypeComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.OpcodeTypeComponent);
+            args = new Type[]{typeof(System.Type)};
+            method = type.GetMethod("GetOpcode", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, GetOpcode_0);
+
+
+        }
+
+
+        static StackObject* GetOpcode_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Type type = (System.Type)typeof(System.Type).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            ETModel.OpcodeTypeComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.OpcodeTypeComponent)typeof(ETModel.OpcodeTypeComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetOpcode(type);
+
+            __ret->ObjectType = ObjectTypes.Integer;
+            __ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_OpcodeTypeComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1932cac4f26b90a4398e6c9bae232c94
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 80 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PacketInfo_Binding.cs

@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_PacketInfo_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.PacketInfo);
+
+            app.RegisterCLRCreateDefaultInstance(type, () => new ETModel.PacketInfo());
+
+
+        }
+
+        static void WriteBackInstance(ILRuntime.Runtime.Enviorment.AppDomain __domain, StackObject* ptr_of_this_method, IList<object> __mStack, ref ETModel.PacketInfo instance_of_this_method)
+        {
+            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
+            switch(ptr_of_this_method->ObjectType)
+            {
+                case ObjectTypes.Object:
+                    {
+                        __mStack[ptr_of_this_method->Value] = instance_of_this_method;
+                    }
+                    break;
+                case ObjectTypes.FieldReference:
+                    {
+                        var ___obj = __mStack[ptr_of_this_method->Value];
+                        if(___obj is ILTypeInstance)
+                        {
+                            ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                        }
+                        else
+                        {
+                            var t = __domain.GetType(___obj.GetType()) as CLRType;
+                            t.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, instance_of_this_method);
+                        }
+                    }
+                    break;
+                case ObjectTypes.StaticFieldReference:
+                    {
+                        var t = __domain.GetType(ptr_of_this_method->Value);
+                        if(t is ILType)
+                        {
+                            ((ILType)t).StaticInstance[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                        }
+                        else
+                        {
+                            ((CLRType)t).SetStaticFieldValue(ptr_of_this_method->ValueLow, instance_of_this_method);
+                        }
+                    }
+                    break;
+                 case ObjectTypes.ArrayReference:
+                    {
+                        var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ETModel.PacketInfo[];
+                        instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
+                    }
+                    break;
+            }
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PacketInfo_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0e17ff631a8570d4fad045e98481e4a1
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 65 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PlayerComponent_Binding.cs

@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_PlayerComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.PlayerComponent);
+            args = new Type[]{};
+            method = type.GetMethod("get_Instance", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_Instance_0);
+
+            field = type.GetField("MyPlayer", flag);
+            app.RegisterCLRFieldGetter(field, get_MyPlayer_0);
+            app.RegisterCLRFieldSetter(field, set_MyPlayer_0);
+
+
+        }
+
+
+        static StackObject* get_Instance_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = ETModel.PlayerComponent.Instance;
+
+            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 object get_MyPlayer_0(ref object o)
+        {
+            return ((ETModel.PlayerComponent)o).MyPlayer;
+        }
+        static void set_MyPlayer_0(ref object o, object v)
+        {
+            ((ETModel.PlayerComponent)o).MyPlayer = (ETModel.Player)v;
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_PlayerComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b38f89398e45fbb449478faf94541454
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Player_Binding.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Player_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Player);
+            args = new Type[]{};
+            method = type.GetMethod("get_UnitId", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, get_UnitId_0);
+
+
+        }
+
+
+        static StackObject* get_UnitId_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+            ETModel.Player instance_of_this_method;
+            instance_of_this_method = (ETModel.Player)typeof(ETModel.Player).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.UnitId;
+
+            __ret->ObjectType = ObjectTypes.Long;
+            *(long*)&__ret->Value = result_of_this_method;
+            return __ret + 1;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Player_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9c9b82f2164439d47accdaed419c8a05
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 79 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ProtobufHelper_Binding.cs

@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_ProtobufHelper_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.ProtobufHelper);
+            args = new Type[]{typeof(System.Type), typeof(System.Byte[]), typeof(System.Int32), typeof(System.Int32)};
+            method = type.GetMethod("FromBytes", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, FromBytes_0);
+            args = new Type[]{typeof(System.Object)};
+            method = type.GetMethod("ToBytes", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, ToBytes_1);
+
+
+        }
+
+
+        static StackObject* FromBytes_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.Int32 length = ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
+            System.Int32 index = ptr_of_this_method->Value;
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
+            System.Byte[] bytes = (System.Byte[])typeof(System.Byte[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+            ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
+            System.Type type = (System.Type)typeof(System.Type).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = ETModel.ProtobufHelper.FromBytes(type, bytes, index, length);
+
+            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, true);
+            }
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method, true);
+        }
+
+        static StackObject* ToBytes_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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);
+
+            var result_of_this_method = ETModel.ProtobufHelper.ToBytes(message);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ProtobufHelper_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b3f426a8f19466f4b9d67bd10e9210e4
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ResourcesComponent_Binding.cs

@@ -0,0 +1,124 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_ResourcesComponent_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.ResourcesComponent);
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("LoadBundle", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, LoadBundle_0);
+            Dictionary<string, List<MethodInfo>> genericMethods = new Dictionary<string, List<MethodInfo>>();
+            List<MethodInfo> lst = null;                    
+            foreach(var m in type.GetMethods())
+            {
+                if(m.IsGenericMethodDefinition)
+                {
+                    if (!genericMethods.TryGetValue(m.Name, out lst))
+                    {
+                        lst = new List<MethodInfo>();
+                        genericMethods[m.Name] = lst;
+                    }
+                    lst.Add(m);
+                }
+            }
+            args = new Type[]{typeof(UnityEngine.GameObject)};
+            if (genericMethods.TryGetValue("GetAsset", out lst))
+            {
+                foreach(var m in lst)
+                {
+                    if(m.GetParameters().Length == 2)
+                    {
+                        method = m.MakeGenericMethod(args);
+                        app.RegisterCLRMethodRedirection(method, GetAsset_1);
+
+                        break;
+                    }
+                }
+            }
+            args = new Type[]{typeof(System.String)};
+            method = type.GetMethod("UnloadBundle", flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, UnloadBundle_2);
+
+
+        }
+
+
+        static StackObject* LoadBundle_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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 assetBundleName = (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);
+            ETModel.ResourcesComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.ResourcesComponent)typeof(ETModel.ResourcesComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.LoadBundle(assetBundleName);
+
+            return __ret;
+        }
+
+        static StackObject* GetAsset_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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.String prefab = (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.String bundleName = (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);
+            ETModel.ResourcesComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.ResourcesComponent)typeof(ETModel.ResourcesComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            var result_of_this_method = instance_of_this_method.GetAsset<UnityEngine.GameObject>(bundleName, prefab);
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+        static StackObject* UnloadBundle_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.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 assetBundleName = (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);
+            ETModel.ResourcesComponent instance_of_this_method;
+            instance_of_this_method = (ETModel.ResourcesComponent)typeof(ETModel.ResourcesComponent).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
+            __intp.Free(ptr_of_this_method);
+
+            instance_of_this_method.UnloadBundle(assetBundleName);
+
+            return __ret;
+        }
+
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_ResourcesComponent_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 359f00b11fcefa84fbe5fc70e5e923ce
+timeCreated: 1520320313
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 47 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Scene_Binding.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using ILRuntime.CLR.TypeSystem;
+using ILRuntime.CLR.Method;
+using ILRuntime.Runtime.Enviorment;
+using ILRuntime.Runtime.Intepreter;
+using ILRuntime.Runtime.Stack;
+using ILRuntime.Reflection;
+using ILRuntime.CLR.Utils;
+
+namespace ILRuntime.Runtime.Generated
+{
+    unsafe class ETModel_Scene_Binding
+    {
+        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
+        {
+            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
+            MethodBase method;
+            FieldInfo field;
+            Type[] args;
+            Type type = typeof(ETModel.Scene);
+
+            args = new Type[]{};
+            method = type.GetConstructor(flag, null, args, null);
+            app.RegisterCLRMethodRedirection(method, Ctor_0);
+
+        }
+
+
+
+        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
+        {
+            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
+            StackObject* ptr_of_this_method;
+            StackObject* __ret = ILIntepreter.Minus(__esp, 0);
+
+            var result_of_this_method = new ETModel.Scene();
+
+            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
+        }
+
+
+    }
+}

+ 12 - 0
Unity/Assets/ThirdParty/ILRuntime/Generated/ETModel_Scene_Binding.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cbf83b6cc883d4e4cbb72a97c842562d
+timeCreated: 1520320314
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini