From 8d2edfa304b849ee890feb3e4bdb400b54bf84e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 07:44:47 +0000 Subject: [PATCH] deploy: fc18981e7506e9d48dda7fae320db669fd31d413 --- 404.html | 4 ++-- assets/js/{05f46752.321291db.js => 05f46752.a462ac2d.js} | 2 +- assets/js/{0f4b3ece.4340d504.js => 0f4b3ece.08855efb.js} | 2 +- ...runtime~main.c77b8a35.js => runtime~main.70027370.js} | 2 +- blog.html | 4 ++-- blog/archive.html | 4 ++-- blog/catelog.html | 4 ++-- blog/instructions.html | 4 ++-- blog/mindexperiment.html | 4 ++-- blog/principle.html | 4 ++-- docs/basic.html | 4 ++-- docs/basic/aotgeneric.html | 4 ++-- docs/basic/architecture.html | 4 ++-- docs/basic/bestpractice.html | 4 ++-- docs/basic/buildpipeline.html | 4 ++-- docs/basic/buildwebgl.html | 4 ++-- docs/basic/codestriping.html | 4 ++-- docs/basic/com.code-philosophy.hybridclr.html | 4 ++-- docs/basic/compileassembly.html | 4 ++-- docs/basic/hotupdateassemblysetting.html | 9 ++++----- docs/basic/il2cppbugs.html | 4 ++-- docs/basic/install.html | 4 ++-- docs/basic/memory.html | 4 ++-- docs/basic/methodbridge.html | 4 ++-- docs/basic/migratefromnetstandard.html | 4 ++-- docs/basic/modifyunitydll.html | 4 ++-- docs/basic/monobehaviour.html | 4 ++-- docs/basic/notsupportedfeatures.html | 4 ++-- docs/basic/performance.html | 4 ++-- docs/basic/projectsettings.html | 4 ++-- docs/basic/runhotupdatecodes.html | 4 ++-- docs/basic/sourceinspect.html | 4 ++-- docs/basic/supportedplatformanduniyversion.html | 4 ++-- docs/basic/workwithscriptlanguage.html | 4 ++-- docs/beginner.html | 4 ++-- docs/beginner/generic.html | 4 ++-- docs/beginner/monobehaviour.html | 4 ++-- docs/beginner/otherhelp.html | 4 ++-- docs/beginner/quickstart.html | 6 +++--- docs/business.html | 4 ++-- docs/business/advancedcodeoptimization.html | 4 ++-- docs/business/advancedencryption.html | 4 ++-- docs/business/basiccodeoptimization.html | 4 ++-- docs/business/basicencryption.html | 4 ++-- docs/business/businesscase.html | 4 ++-- docs/business/differentialhybridexecution.html | 4 ++-- docs/business/fullgenericsharing.html | 4 ++-- docs/business/intro.html | 4 ++-- docs/business/pro/intro.html | 4 ++-- docs/business/pro/quickstart.html | 4 ++-- docs/business/reload/hotreloadassembly.html | 4 ++-- docs/business/reload/intro.html | 4 ++-- docs/business/reload/modifydll.html | 4 ++-- docs/business/reload/quickstart.html | 4 ++-- docs/business/ultimate/intro.html | 4 ++-- docs/business/ultimate/manual.html | 4 ++-- docs/business/ultimate/quickstart.html | 4 ++-- docs/help.html | 4 ++-- docs/help/commonerrors.html | 4 ++-- docs/help/faq.html | 4 ++-- docs/help/issue.html | 4 ++-- docs/intro.html | 4 ++-- docs/other.html | 4 ++-- docs/other/businesscase.html | 4 ++-- docs/other/changelog.html | 4 ++-- docs/other/contactme.html | 4 ++-- docs/other/donate.html | 4 ++-- docs/other/relativepojects.html | 4 ++-- docs/other/roadmap.html | 4 ++-- docs/pro.html | 4 ++-- docs/reload.html | 4 ++-- docs/ultimate.html | 4 ++-- index.html | 4 ++-- search.html | 4 ++-- 74 files changed, 148 insertions(+), 149 deletions(-) rename assets/js/{05f46752.321291db.js => 05f46752.a462ac2d.js} (50%) rename assets/js/{0f4b3ece.4340d504.js => 0f4b3ece.08855efb.js} (85%) rename assets/js/{runtime~main.c77b8a35.js => runtime~main.70027370.js} (98%) diff --git a/404.html b/404.html index d594a7e5..ab0bad27 100644 --- a/404.html +++ b/404.html @@ -9,13 +9,13 @@ - +
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

- + \ No newline at end of file diff --git a/assets/js/05f46752.321291db.js b/assets/js/05f46752.a462ac2d.js similarity index 50% rename from assets/js/05f46752.321291db.js rename to assets/js/05f46752.a462ac2d.js index ab5cd97a..7dee0673 100644 --- a/assets/js/05f46752.321291db.js +++ b/assets/js/05f46752.a462ac2d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[685],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>k});var i=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=i.createContext({}),p=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=p(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(n),m=l,k=c["".concat(s,".").concat(m)]||c[m]||u[m]||a;return n?i.createElement(k,r(r({ref:t},d),{},{components:n})):i.createElement(k,r({ref:t},d))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,r=new Array(a);r[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:l,r[1]=o;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var i=n(7462),l=(n(7294),n(3905));const a={},r="\u5feb\u901f\u4e0a\u624b",o={unversionedId:"beginner/quickstart",id:"beginner/quickstart",title:"\u5feb\u901f\u4e0a\u624b",description:"\u672c\u6559\u7a0b\u5f15\u5bfc\u4ece\u7a7a\u9879\u76ee\u5f00\u59cb\u4f53\u9a8cHybridCLR\u70ed\u66f4\u65b0\u3002\u51fa\u4e8e\u7b80\u5316\u8d77\u89c1\uff0c\u53ea\u6f14\u793aBuildTarget\u4e3aWindows\u6216MacOS Standalone\u5e73\u53f0\u7684\u60c5\u51b5\u3002",source:"@site/docs/beginner/quickstart.md",sourceDirName:"beginner",slug:"/beginner/quickstart",permalink:"/docs/beginner/quickstart",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u65b0\u624b\u6559\u7a0b",permalink:"/docs/beginner"},next:{title:"\u4f7f\u7528MonoBehaviour",permalink:"/docs/beginner/monobehaviour"}},s={},p=[{value:"\u4f53\u9a8c\u76ee\u6807",id:"\u4f53\u9a8c\u76ee\u6807",level:2},{value:"\u51c6\u5907\u73af\u5883",id:"\u51c6\u5907\u73af\u5883",level:2},{value:"\u5b89\u88c5Unity",id:"\u5b89\u88c5unity",level:3},{value:"\u5b89\u88c5IDE\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883",id:"\u5b89\u88c5ide\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883",level:3},{value:"\u521d\u59cb\u5316Unity\u70ed\u66f4\u65b0\u9879\u76ee",id:"\u521d\u59cb\u5316unity\u70ed\u66f4\u65b0\u9879\u76ee",level:2},{value:"\u521b\u5efa\u9879\u76ee",id:"\u521b\u5efa\u9879\u76ee",level:3},{value:"\u521b\u5efaConsoleToScreen.cs\u811a\u672c",id:"\u521b\u5efaconsoletoscreencs\u811a\u672c",level:3},{value:"\u521b\u5efa\u4e3b\u573a\u666f",id:"\u521b\u5efa\u4e3b\u573a\u666f",level:3},{value:"\u521b\u5efa HotUpdate \u70ed\u66f4\u65b0\u6a21\u5757",id:"\u521b\u5efa-hotupdate-\u70ed\u66f4\u65b0\u6a21\u5757",level:3},{value:"\u5b89\u88c5\u548c\u914d\u7f6eHybridCLR",id:"\u5b89\u88c5\u548c\u914d\u7f6ehybridclr",level:2},{value:"\u5b89\u88c5 com.code-philosophy.hybridclr \u5305",id:"\u5b89\u88c5-comcode-philosophyhybridclr-\u5305",level:3},{value:"\u521d\u59cb\u5316 com.code-philosophy.hybridclr",id:"\u521d\u59cb\u5316-comcode-philosophyhybridclr",level:3},{value:"\u914d\u7f6eHybridCLR",id:"\u914d\u7f6ehybridclr",level:3},{value:"\u914d\u7f6ePlayerSettings",id:"\u914d\u7f6eplayersettings",level:3},{value:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c",id:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c",level:2},{value:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6",id:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6",level:2},{value:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801",id:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801",level:2},{value:"Editor\u4e2d\u8bd5\u8fd0\u884c",id:"editor\u4e2d\u8bd5\u8fd0\u884c",level:2},{value:"\u6253\u5305\u8fd0\u884c",id:"\u6253\u5305\u8fd0\u884c",level:2},{value:"\u6d4b\u8bd5\u70ed\u66f4\u65b0",id:"\u6d4b\u8bd5\u70ed\u66f4\u65b0",level:2}],d={toc:p},c="wrapper";function u(e){let{components:t,...a}=e;return(0,l.kt)(c,(0,i.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u5feb\u901f\u4e0a\u624b"},"\u5feb\u901f\u4e0a\u624b"),(0,l.kt)("p",null,"\u672c\u6559\u7a0b\u5f15\u5bfc\u4ece\u7a7a\u9879\u76ee\u5f00\u59cb\u4f53\u9a8cHybridCLR\u70ed\u66f4\u65b0\u3002\u51fa\u4e8e\u7b80\u5316\u8d77\u89c1\uff0c\u53ea\u6f14\u793aBuildTarget\u4e3a",(0,l.kt)("strong",{parentName:"p"},"Windows"),"\u6216",(0,l.kt)("strong",{parentName:"p"},"MacOS")," Standalone\u5e73\u53f0\u7684\u60c5\u51b5\u3002"),(0,l.kt)("p",null,"\u8bf7\u5728Standalone\u5e73\u53f0\u4e0a\u6b63\u786e\u8dd1\u901a\u70ed\u66f4\u65b0\u6d41\u7a0b\u540e\u518d\u81ea\u884c\u5c1d\u8bd5Android\u3001iOS\u5e73\u53f0\u7684\u70ed\u66f4\u65b0\uff0c\u5b83\u4eec\u7684\u6d41\u7a0b\u975e\u5e38\u76f8\u4f3c\u3002"),(0,l.kt)("h2",{id:"\u4f53\u9a8c\u76ee\u6807"},"\u4f53\u9a8c\u76ee\u6807"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"),(0,l.kt)("li",{parentName:"ul"},"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\uff0c\u5e76\u6267\u884c\u5176\u4e2d\u70ed\u66f4\u65b0\u4ee3\u7801\uff0c\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, HybridCLR")),(0,l.kt)("li",{parentName:"ul"},"\u4fee\u6539\u70ed\u66f4\u65b0\u4ee3\u7801\uff0c\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, World"))),(0,l.kt)("h2",{id:"\u51c6\u5907\u73af\u5883"},"\u51c6\u5907\u73af\u5883"),(0,l.kt)("h3",{id:"\u5b89\u88c5unity"},"\u5b89\u88c5Unity"),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"HybridCLR\u4e5f\u652f\u63012019.4.x\uff0c\u4f46\u65b0\u624b\u8bf7\u5148\u6309\u7167\u4e0b\u9762\u8981\u6c42\u8dd1\u901a\u6d41\u7a0b\u540e\uff0c\u518d\u6839\u636e",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/install"},"\u5b89\u88c5HybridCLR"),"\u6587\u6863\u5c1d\u8bd52019.4.x\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5 2020.3.26+\u3001 2021.3.0+\u30012022.3.0+ \u4e2d\u4efb\u4e00\u7248\u672c\u3002\u5982\u679c\u4f60\u4e0d\u662f\u7ecf\u9a8c\u4e30\u5bcc\u7684Unity\u5f00\u53d1\u8005\uff0c\u63a8\u8350\u4f7f\u75282021.3.1\u7248\u672c\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6839\u636e\u4f60\u6240\u7528\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u9009\u62e9\u6a21\u5757\u65f6\uff0c\u5fc5\u987b\u9009\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Windows Build Support(IL2CPP)"),"\u6216",(0,l.kt)("inlineCode",{parentName:"li"},"Mac Build Support(IL2CPP)"),"\u3002")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"select il2cpp modules",src:n(8581).Z,width:"721",height:"507"})),(0,l.kt)("h3",{id:"\u5b89\u88c5ide\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883"},"\u5b89\u88c5IDE\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Windows",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Win\u4e0b\u9700\u8981\u5b89\u88c5",(0,l.kt)("inlineCode",{parentName:"li"},"visual studio 2019"),"\u6216\u66f4\u9ad8\u7248\u672c\u3002\u5b89\u88c5\u65f6\u81f3\u5c11\u8981\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4f7f\u7528Unity\u7684\u6e38\u620f\u5f00\u53d1")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4f7f\u7528c++\u7684\u6e38\u620f\u5f00\u53d1")," \u7ec4\u4ef6\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5git"))),(0,l.kt)("li",{parentName:"ul"},"Mac",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\u8981\u6c42MacOS\u7248\u672c >= 12\uff0cxcode\u7248\u672c >= 13\uff0c\u4f8b\u5982",(0,l.kt)("inlineCode",{parentName:"li"},"xcode 13.4.1\uff0c macos 12.4"),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5 git")))),(0,l.kt)("h2",{id:"\u521d\u59cb\u5316unity\u70ed\u66f4\u65b0\u9879\u76ee"},"\u521d\u59cb\u5316Unity\u70ed\u66f4\u65b0\u9879\u76ee"),(0,l.kt)("p",null,"\u4ece\u96f6\u5f00\u59cb\u6784\u9020\u70ed\u66f4\u65b0\u9879\u76ee\u7684\u8fc7\u7a0b\u8f83\u5197\u957f\uff0c\u9879\u76ee\u7ed3\u6784\u53ca\u8d44\u6e90\u53ca\u4ee3\u7801\u5747\u53ef\u53c2\u8003hybridclr_trial\u9879\u76ee\uff0c\u5176\u4ed3\u5e93\u5730\u5740\u4e3a ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/focus-creative-games/hybridclr_trial"},"github")," \u6216 ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/focus-creative-games/hybridclr_trial"},"gitee"),"\u3002"),(0,l.kt)("h3",{id:"\u521b\u5efa\u9879\u76ee"},"\u521b\u5efa\u9879\u76ee"),(0,l.kt)("p",null,"\u521b\u5efa\u7a7a\u7684Unity\u9879\u76ee\u3002"),(0,l.kt)("h3",{id:"\u521b\u5efaconsoletoscreencs\u811a\u672c"},"\u521b\u5efa",(0,l.kt)("inlineCode",{parentName:"h3"},"ConsoleToScreen.cs"),"\u811a\u672c"),(0,l.kt)("p",null,"\u8fd9\u4e2a\u811a\u672c\u5bf9\u4e8e\u6f14\u793a\u70ed\u66f4\u65b0\u6ca1\u6709\u76f4\u63a5\u4f5c\u7528\u3002\u5b83\u53ef\u4ee5\u6253\u5370\u65e5\u5fd7\u5230\u5c4f\u5e55\u4e0a\uff0c\u65b9\u4fbf\u5b9a\u4f4d\u9519\u8bef\u3002"),(0,l.kt)("p",null,"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/ConsoleToScreen.cs")," \u811a\u672c\u7c7b\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class ConsoleToScreen : MonoBehaviour\n{\n const int maxLines = 50;\n const int maxLineLength = 120;\n private string _logStr = "";\n\n private readonly List _lines = new List();\n\n public int fontSize = 15;\n\n void OnEnable() { Application.logMessageReceived += Log; }\n void OnDisable() { Application.logMessageReceived -= Log; }\n\n public void Log(string logString, string stackTrace, LogType type)\n {\n foreach (var line in logString.Split(\'\\n\'))\n {\n if (line.Length <= maxLineLength)\n {\n _lines.Add(line);\n continue;\n }\n var lineCount = line.Length / maxLineLength + 1;\n for (int i = 0; i < lineCount; i++)\n {\n if ((i + 1) * maxLineLength <= line.Length)\n {\n _lines.Add(line.Substring(i * maxLineLength, maxLineLength));\n }\n else\n {\n _lines.Add(line.Substring(i * maxLineLength, line.Length - i * maxLineLength));\n }\n }\n }\n if (_lines.Count > maxLines)\n {\n _lines.RemoveRange(0, _lines.Count - maxLines);\n }\n _logStr = string.Join("\\n", _lines);\n }\n\n void OnGUI()\n {\n GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity,\n new Vector3(Screen.width / 1200.0f, Screen.height / 800.0f, 1.0f));\n GUI.Label(new Rect(10, 10, 800, 370), _logStr, new GUIStyle() { fontSize = Math.Max(10, fontSize) });\n }\n}\n\n\n')),(0,l.kt)("h3",{id:"\u521b\u5efa\u4e3b\u573a\u666f"},"\u521b\u5efa\u4e3b\u573a\u666f"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa\u9ed8\u8ba4\u521d\u59cb\u573a\u666f main.scene"),(0,l.kt)("li",{parentName:"ul"},"\u573a\u666f\u4e2d\u521b\u5efa\u4e00\u4e2a\u7a7aGameObject\uff0c\u5c06ConsoleToScreen\u6302\u5230\u4e0a\u9762"),(0,l.kt)("li",{parentName:"ul"},"\u5728",(0,l.kt)("inlineCode",{parentName:"li"},"Build Settings"),"\u4e2d\u6dfb\u52a0main\u573a\u666f\u5230\u6253\u5305\u573a\u666f\u5217\u8868")),(0,l.kt)("h3",{id:"\u521b\u5efa-hotupdate-\u70ed\u66f4\u65b0\u6a21\u5757"},"\u521b\u5efa HotUpdate \u70ed\u66f4\u65b0\u6a21\u5757"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/HotUpdate")," \u76ee\u5f55"),(0,l.kt)("li",{parentName:"ul"},"\u5728\u76ee\u5f55\u4e0b \u53f3\u952e ",(0,l.kt)("inlineCode",{parentName:"li"},"Create/Assembly Definition"),"\uff0c\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a",(0,l.kt)("inlineCode",{parentName:"li"},"HotUpdate"),"\u7684\u7a0b\u5e8f\u96c6\u6a21\u5757")),(0,l.kt)("h2",{id:"\u5b89\u88c5\u548c\u914d\u7f6ehybridclr"},"\u5b89\u88c5\u548c\u914d\u7f6eHybridCLR"),(0,l.kt)("h3",{id:"\u5b89\u88c5-comcode-philosophyhybridclr-\u5305"},"\u5b89\u88c5 ",(0,l.kt)("inlineCode",{parentName:"h3"},"com.code-philosophy.hybridclr")," \u5305"),(0,l.kt)("p",null,"\u4e3b\u83dc\u5355\u4e2d\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"Windows/Package Manager"),"\u6253\u5f00\u5305\u7ba1\u7406\u5668\u3002\u5982\u4e0b\u56fe\u6240\u793a\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"Add package from git URL..."),"\uff0c\u586b\u5165",(0,l.kt)("inlineCode",{parentName:"p"},"https://gitee.com/focus-creative-games/hybridclr_unity.git"),"\u6216",(0,l.kt)("inlineCode",{parentName:"p"},"https://github.com/focus-creative-games/hybridclr_unity.git"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"add package",src:n(5283).Z,width:"808",height:"223"})),(0,l.kt)("p",null,"\u4e0d\u719f\u6089\u4eceurl\u5b89\u88c5package\u7684\u8bf7\u770b",(0,l.kt)("a",{parentName:"p",href:"https://docs.unity3d.com/Manual/upm-ui-giturl.html"},"install from giturl"),"\u3002"),(0,l.kt)("p",null,"\u7531\u4e8e\u56fd\u5185\u7f51\u7edc\u539f\u56e0\uff0c\u5728unity\u4e2d\u53ef\u80fd\u9047\u5230\u7f51\u7edc\u5f02\u5e38\u800c\u65e0\u6cd5\u5b89\u88c5\u3002\u4f60\u53ef\u4ee5\u5148\u628a ",(0,l.kt)("inlineCode",{parentName:"p"},"com.code-philosophy.hybridclr")," clone\u6216\u8005\u4e0b\u8f7d\u5230\u672c\u5730\uff0c\u5c06\u6587\u4ef6\u5939\u6539\u540d\u4e3a",(0,l.kt)("inlineCode",{parentName:"p"},"com.code-philosophy.hybridclr"),"\uff0c\u76f4\u63a5\u79fb\u52a8\u5230\u9879\u76ee\u7684",(0,l.kt)("inlineCode",{parentName:"p"},"Packages"),"\u76ee\u5f55\u4e0b\u5373\u53ef\u3002"),(0,l.kt)("h3",{id:"\u521d\u59cb\u5316-comcode-philosophyhybridclr"},"\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"h3"},"com.code-philosophy.hybridclr")),(0,l.kt)("p",null,"\u6253\u5f00\u83dc\u5355",(0,l.kt)("inlineCode",{parentName:"p"},"HybridCLR/Installer..."),"\uff0c \u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"\u5b89\u88c5"),"\u6309\u94ae\u8fdb\u884c\u5b89\u88c5\u3002 \u8010\u5fc3\u7b49\u5f8530s\u5de6\u53f3\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\u4f1a\u5728\u6700\u540e\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"p"},"\u5b89\u88c5\u6210\u529f"),"\u65e5\u5fd7\u3002"),(0,l.kt)("h3",{id:"\u914d\u7f6ehybridclr"},"\u914d\u7f6eHybridCLR"),(0,l.kt)("p",null,"\u6253\u5f00\u83dc\u5355 ",(0,l.kt)("inlineCode",{parentName:"p"},"HybridCLR/Settings"),"\uff0c \u5728",(0,l.kt)("inlineCode",{parentName:"p"},"Hot Update Assemblies"),"\u914d\u7f6e\u9879\u4e2d\u6dfb\u52a0",(0,l.kt)("inlineCode",{parentName:"p"},"HotUpdate"),"\u7a0b\u5e8f\u96c6\uff0c\u5982\u4e0b\u56fe\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"settings",src:n(2035).Z,width:"1129",height:"793"})),(0,l.kt)("h3",{id:"\u914d\u7f6eplayersettings"},"\u914d\u7f6ePlayerSettings"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5982\u679c\u4f60\u7528\u7684hybridclr\u5305",(0,l.kt)("strong",{parentName:"li"},"\u4f4e\u4e8ev4.0.0\u7248\u672c"),"\uff0c\u9700\u8981\u5173\u95ed\u589e\u91cf\u5f0fGC(Use Incremental GC) \u9009\u9879"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Scripting Backend")," \u5207\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"IL2CPP")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Api Compatability Level")," \u5207\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},".Net 4.x"),"(Unity 2019-2020) \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},".Net Framework"),"\uff08Unity 2021+\uff09")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"player settings",src:n(5333).Z,width:"716",height:"386"})),(0,l.kt)("h2",{id:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c"},"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c"),(0,l.kt)("p",null,"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/HotUpdate/Hello.cs")," \u6587\u4ef6\uff0c\u4ee3\u7801\u5185\u5bb9\u5982\u4e0b"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using System.Collections;\nusing UnityEngine;\n\npublic class Hello\n{\n public static void Run()\n {\n Debug.Log("Hello, HybridCLR");\n }\n}\n')),(0,l.kt)("p",null,"\u4f60\u53ef\u80fd\u4f1a\u5173\u5fc3\u70ed\u66f4\u65b0\u90e8\u5206\u7684\u4ee3\u7801\u4f1a\u4e0d\u4f1a\u50cf\u5176\u4ed6\u65b9\u6848\u90a3\u6837\u5bf9C#\u8bed\u6cd5\u6709\u9650\u5236\u3002HybridCLR\u662f\u8fd1\u4e4e\u5b8c\u5907\u7684\u5b9e\u73b0\uff0c\u5bf9\u70ed\u66f4\u65b0\u4ee3\u7801",(0,l.kt)("strong",{parentName:"p"},"\u51e0\u4e4e\u6ca1\u6709\u9650\u5236"),"\u3002\u6781\u5c11\u6570\u7684\u4f8b\u5916\u53ef\u4ee5\u67e5\u770b",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/notsupportedfeatures"},"\u4e0d\u652f\u6301\u7684\u7279\u6027"),"\u3002"),(0,l.kt)("h2",{id:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"},"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e3a\u4e86\u7b80\u5316\u6f14\u793a\uff0c\u6211\u4eec\u4e0d\u901a\u8fc7http\u670d\u52a1\u5668\u4e0b\u8f7dHotUpdate.dll\uff0c\u800c\u662f\u76f4\u63a5\u5c06HotUpdate.dll\u653e\u5230StreamingAssets\u76ee\u5f55\u4e0b\u3002"),(0,l.kt)("p",null,"HybridCLR\u662f\u539f\u751f\u8fd0\u884c\u65f6\u5b9e\u73b0\uff0c\u56e0\u6b64\u8c03\u7528",(0,l.kt)("inlineCode",{parentName:"p"},"Assembly Assembly.Load(byte[])"),"\u5373\u53ef\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("p",null,"\u521b\u5efa",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/LoadDll.cs"),"\u811a\u672c\uff0c\u7136\u540e",(0,l.kt)("strong",{parentName:"p"},"\u5728main\u573a\u666f\u4e2d\u521b\u5efa\u4e00\u4e2aGameObject\u5bf9\u8c61\uff0c\u6302\u8f7dLoadDll\u811a\u672c"),"\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using HybridCLR;\nusing System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Reflection;\nusing System.Threading.Tasks;\nusing UnityEngine;\nusing UnityEngine.Networking;\n\npublic class LoadDll : MonoBehaviour\n{\n\n void Start()\n {\n // Editor\u73af\u5883\u4e0b\uff0cHotUpdate.dll.bytes\u5df2\u7ecf\u88ab\u81ea\u52a8\u52a0\u8f7d\uff0c\u4e0d\u9700\u8981\u52a0\u8f7d\uff0c\u91cd\u590d\u52a0\u8f7d\u53cd\u800c\u4f1a\u51fa\u95ee\u9898\u3002\n#if !UNITY_EDITOR\n Assembly hotUpdateAss = Assembly.Load(File.ReadAllBytes($"{Application.streamingAssetsPath}/HotUpdate.dll.bytes"));\n#else\n // Editor\u4e0b\u65e0\u9700\u52a0\u8f7d\uff0c\u76f4\u63a5\u67e5\u627e\u83b7\u5f97HotUpdate\u7a0b\u5e8f\u96c6\n Assembly hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "HotUpdate");\n#endif\n }\n}\n\n')),(0,l.kt)("h2",{id:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801"},"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801"),(0,l.kt)("p",null,"\u663e\u7136\uff0c\u4e3b\u5de5\u7a0b\u4e0d\u80fd\u76f4\u63a5\u5f15\u7528\u70ed\u66f4\u65b0\u4ee3\u7801\u3002\u6709",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/runhotupdatecodes"},"\u591a\u79cd\u65b9\u5f0f"),"\u53ef\u4ee5\u4ece\u4e3b\u5de5\u7a0b\u8c03\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u4e2d\u7684\u4ee3\u7801\uff0c\u8fd9\u91cc\u901a\u8fc7\u53cd\u5c04\u6765\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801\u3002"),(0,l.kt)("p",null,"\u5728",(0,l.kt)("inlineCode",{parentName:"p"},"LoadDll.Start"),"\u51fd\u6570\u540e\u9762\u6dfb\u52a0\u53cd\u5c04\u8c03\u7528\u4ee3\u7801\uff0c\u6700\u7ec8\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},' void Start()\n {\n // Editor\u73af\u5883\u4e0b\uff0cHotUpdate.dll.bytes\u5df2\u7ecf\u88ab\u81ea\u52a8\u52a0\u8f7d\uff0c\u4e0d\u9700\u8981\u52a0\u8f7d\uff0c\u91cd\u590d\u52a0\u8f7d\u53cd\u800c\u4f1a\u51fa\u95ee\u9898\u3002\n#if !UNITY_EDITOR\n Assembly hotUpdateAss = Assembly.Load(File.ReadAllBytes($"{Application.streamingAssetsPath}/HotUpdate.dll.bytes"));\n#else\n // Editor\u4e0b\u65e0\u9700\u52a0\u8f7d\uff0c\u76f4\u63a5\u67e5\u627e\u83b7\u5f97HotUpdate\u7a0b\u5e8f\u96c6\n Assembly hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "HotUpdate");\n#endif\n \n Type type = hotUpdateAss.GetType("Hello");\n type.GetMethod("Run").Invoke(null, null);\n }\n\n')),(0,l.kt)("p",null,"\u81f3\u6b64\uff0c\u5b8c\u6210\u6574\u4e2a\u70ed\u66f4\u65b0\u5de5\u7a0b\u7684\u521b\u5efa\u5de5\u4f5c\uff01\uff01\uff01"),(0,l.kt)("h2",{id:"editor\u4e2d\u8bd5\u8fd0\u884c"},"Editor\u4e2d\u8bd5\u8fd0\u884c"),(0,l.kt)("p",null,"\u8fd0\u884cmain\u573a\u666f\uff0c\u5c4f\u5e55\u4e0a\u4f1a\u663e\u793a 'Hello,HybridCLR'\uff0c\u8868\u793a\u4ee3\u7801\u5de5\u4f5c\u6b63\u5e38\u3002"),(0,l.kt)("h2",{id:"\u6253\u5305\u8fd0\u884c"},"\u6253\u5305\u8fd0\u884c"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u83dc\u5355 ",(0,l.kt)("inlineCode",{parentName:"li"},"HybridCLR/Generate/All")," \u8fdb\u884c\u5fc5\u8981\u7684\u751f\u6210\u64cd\u4f5c\u3002",(0,l.kt)("strong",{parentName:"li"},"\u8fd9\u4e00\u6b65\u4e0d\u53ef\u9057\u6f0f"),"!!!"),(0,l.kt)("li",{parentName:"ul"},"\u5c06",(0,l.kt)("inlineCode",{parentName:"li"},"{proj}/HybridCLRData/HotUpdateDlls/StandaloneWindows64(MacOS\u4e0b\u4e3aStandaloneMacXxx)"),"\u76ee\u5f55\u4e0b\u7684HotUpdate.dll\u590d\u5236\u5230",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/StreamingAssets/HotUpdate.dll.bytes"),"\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u6ce8\u610f"),"\uff0c\u8981\u52a0",(0,l.kt)("inlineCode",{parentName:"li"},".bytes"),"\u540e\u7f00\uff01\uff01\uff01"),(0,l.kt)("li",{parentName:"ul"},"\u6253\u5f00",(0,l.kt)("inlineCode",{parentName:"li"},"Build Settings"),"\u5bf9\u8bdd\u6846\uff0c\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"li"},"Build And Run"),"\uff0c\u6253\u5305\u5e76\u4e14\u8fd0\u884c\u70ed\u66f4\u65b0\u793a\u4f8b\u5de5\u7a0b\u3002")),(0,l.kt)("p",null,"\u5982\u679c\u6253\u5305\u6210\u529f\uff0c\u5e76\u4e14\u5c4f\u5e55\u4e0a\u663e\u793a 'Hello,HybridCLR'\uff0c\u8868\u793a\u70ed\u66f4\u65b0\u4ee3\u7801\u88ab\u987a\u5229\u6267\u884c\uff01"),(0,l.kt)("h2",{id:"\u6d4b\u8bd5\u70ed\u66f4\u65b0"},"\u6d4b\u8bd5\u70ed\u66f4\u65b0"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4fee\u6539",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/HotUpdate/Hello.cs"),"\u7684Run\u51fd\u6570\u4e2d",(0,l.kt)("inlineCode",{parentName:"li"},'Debug.Log("Hello, HybridCLR");'),"\u4ee3\u7801\uff0c\u6539\u6210",(0,l.kt)("inlineCode",{parentName:"li"},'Debug.Log("Hello, World");'),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u83dc\u5355\u547d\u4ee4",(0,l.kt)("inlineCode",{parentName:"li"},"HybridCLR/CompileDll/ActiveBulidTarget"),"\u91cd\u65b0\u7f16\u8bd1\u70ed\u66f4\u65b0\u4ee3\u7801\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5c06",(0,l.kt)("inlineCode",{parentName:"li"},"{proj}/HybridCLRData/HotUpdateDlls/StandaloneWindows64(MacOS\u4e0b\u4e3aStandaloneMacXxx)"),"\u76ee\u5f55\u4e0b\u7684HotUpdate.dll\u590d\u5236\u4e3a\u521a\u624d\u7684\u6253\u5305\u8f93\u51fa\u76ee\u5f55\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"XXX_Data/StreamingAssets/HotUpdate.dll.bytes"),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u91cd\u65b0\u8fd0\u884c\u7a0b\u5e8f\uff0c\u4f1a\u53d1\u73b0\u5c4f\u5e55\u4e2d\u663e\u793a",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, World"),"\uff0c\u8868\u793a\u70ed\u66f4\u65b0\u4ee3\u7801\u751f\u6548\u4e86\uff01 ")),(0,l.kt)("p",null,"\u81f3\u6b64\u5b8c\u6210\u70ed\u66f4\u65b0\u4f53\u9a8c\uff01\uff01\uff01"))}u.isMDXComponent=!0},5283:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/install_hybridclrunity_package-9a53b1ee8f7ffd8a700ed1f977ca74e3.jpg"},5333:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/player-setting-8e2d11f023bda2ec70c4ddd7f3b1b815.png"},8581:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/select_il2cpp_modules-d895c3fb5390e04b53e40ada2b422239.jpg"},2035:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/settings-d70a8f4ec98d703cc588cc110dc5a57c.jpg"}}]); \ No newline at end of file +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[685],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>k});var i=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=i.createContext({}),p=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=p(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(n),m=l,k=c["".concat(s,".").concat(m)]||c[m]||u[m]||a;return n?i.createElement(k,r(r({ref:t},d),{},{components:n})):i.createElement(k,r({ref:t},d))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,r=new Array(a);r[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:l,r[1]=o;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var i=n(7462),l=(n(7294),n(3905));const a={},r="\u5feb\u901f\u4e0a\u624b",o={unversionedId:"beginner/quickstart",id:"beginner/quickstart",title:"\u5feb\u901f\u4e0a\u624b",description:"\u672c\u6559\u7a0b\u5f15\u5bfc\u4ece\u7a7a\u9879\u76ee\u5f00\u59cb\u4f53\u9a8cHybridCLR\u70ed\u66f4\u65b0\u3002\u51fa\u4e8e\u7b80\u5316\u8d77\u89c1\uff0c\u53ea\u6f14\u793aBuildTarget\u4e3aWindows\u6216MacOS Standalone\u5e73\u53f0\u7684\u60c5\u51b5\u3002",source:"@site/docs/beginner/quickstart.md",sourceDirName:"beginner",slug:"/beginner/quickstart",permalink:"/docs/beginner/quickstart",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u65b0\u624b\u6559\u7a0b",permalink:"/docs/beginner"},next:{title:"\u4f7f\u7528MonoBehaviour",permalink:"/docs/beginner/monobehaviour"}},s={},p=[{value:"\u4f53\u9a8c\u76ee\u6807",id:"\u4f53\u9a8c\u76ee\u6807",level:2},{value:"\u51c6\u5907\u73af\u5883",id:"\u51c6\u5907\u73af\u5883",level:2},{value:"\u5b89\u88c5Unity",id:"\u5b89\u88c5unity",level:3},{value:"\u5b89\u88c5IDE\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883",id:"\u5b89\u88c5ide\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883",level:3},{value:"\u521d\u59cb\u5316Unity\u70ed\u66f4\u65b0\u9879\u76ee",id:"\u521d\u59cb\u5316unity\u70ed\u66f4\u65b0\u9879\u76ee",level:2},{value:"\u521b\u5efa\u9879\u76ee",id:"\u521b\u5efa\u9879\u76ee",level:3},{value:"\u521b\u5efaConsoleToScreen.cs\u811a\u672c",id:"\u521b\u5efaconsoletoscreencs\u811a\u672c",level:3},{value:"\u521b\u5efa\u4e3b\u573a\u666f",id:"\u521b\u5efa\u4e3b\u573a\u666f",level:3},{value:"\u521b\u5efa HotUpdate \u70ed\u66f4\u65b0\u6a21\u5757",id:"\u521b\u5efa-hotupdate-\u70ed\u66f4\u65b0\u6a21\u5757",level:3},{value:"\u5b89\u88c5\u548c\u914d\u7f6eHybridCLR",id:"\u5b89\u88c5\u548c\u914d\u7f6ehybridclr",level:2},{value:"\u5b89\u88c5 com.code-philosophy.hybridclr \u5305",id:"\u5b89\u88c5-comcode-philosophyhybridclr-\u5305",level:3},{value:"\u521d\u59cb\u5316 com.code-philosophy.hybridclr",id:"\u521d\u59cb\u5316-comcode-philosophyhybridclr",level:3},{value:"\u914d\u7f6eHybridCLR",id:"\u914d\u7f6ehybridclr",level:3},{value:"\u914d\u7f6ePlayerSettings",id:"\u914d\u7f6eplayersettings",level:3},{value:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c",id:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c",level:2},{value:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6",id:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6",level:2},{value:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801",id:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801",level:2},{value:"Editor\u4e2d\u8bd5\u8fd0\u884c",id:"editor\u4e2d\u8bd5\u8fd0\u884c",level:2},{value:"\u6253\u5305\u8fd0\u884c",id:"\u6253\u5305\u8fd0\u884c",level:2},{value:"\u6d4b\u8bd5\u70ed\u66f4\u65b0",id:"\u6d4b\u8bd5\u70ed\u66f4\u65b0",level:2}],d={toc:p},c="wrapper";function u(e){let{components:t,...a}=e;return(0,l.kt)(c,(0,i.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u5feb\u901f\u4e0a\u624b"},"\u5feb\u901f\u4e0a\u624b"),(0,l.kt)("p",null,"\u672c\u6559\u7a0b\u5f15\u5bfc\u4ece\u7a7a\u9879\u76ee\u5f00\u59cb\u4f53\u9a8cHybridCLR\u70ed\u66f4\u65b0\u3002\u51fa\u4e8e\u7b80\u5316\u8d77\u89c1\uff0c\u53ea\u6f14\u793aBuildTarget\u4e3a",(0,l.kt)("strong",{parentName:"p"},"Windows"),"\u6216",(0,l.kt)("strong",{parentName:"p"},"MacOS")," Standalone\u5e73\u53f0\u7684\u60c5\u51b5\u3002"),(0,l.kt)("p",null,"\u8bf7\u5728Standalone\u5e73\u53f0\u4e0a\u6b63\u786e\u8dd1\u901a\u70ed\u66f4\u65b0\u6d41\u7a0b\u540e\u518d\u81ea\u884c\u5c1d\u8bd5Android\u3001iOS\u5e73\u53f0\u7684\u70ed\u66f4\u65b0\uff0c\u5b83\u4eec\u7684\u6d41\u7a0b\u975e\u5e38\u76f8\u4f3c\u3002"),(0,l.kt)("h2",{id:"\u4f53\u9a8c\u76ee\u6807"},"\u4f53\u9a8c\u76ee\u6807"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"),(0,l.kt)("li",{parentName:"ul"},"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\uff0c\u5e76\u6267\u884c\u5176\u4e2d\u70ed\u66f4\u65b0\u4ee3\u7801\uff0c\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, HybridCLR")),(0,l.kt)("li",{parentName:"ul"},"\u4fee\u6539\u70ed\u66f4\u65b0\u4ee3\u7801\uff0c\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, World"))),(0,l.kt)("h2",{id:"\u51c6\u5907\u73af\u5883"},"\u51c6\u5907\u73af\u5883"),(0,l.kt)("h3",{id:"\u5b89\u88c5unity"},"\u5b89\u88c5Unity"),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"HybridCLR\u4e5f\u652f\u63012019.4.x\uff0c\u4f46\u65b0\u624b\u8bf7\u5148\u6309\u7167\u4e0b\u9762\u8981\u6c42\u8dd1\u901a\u6d41\u7a0b\u540e\uff0c\u518d\u6839\u636e",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/install"},"\u5b89\u88c5HybridCLR"),"\u6587\u6863\u5c1d\u8bd52019.4.x\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5 2020.3.26+\u3001 2021.3.0+\u30012022.3.0+ \u4e2d\u4efb\u4e00\u7248\u672c\u3002\u5982\u679c\u4f60\u4e0d\u662f\u7ecf\u9a8c\u4e30\u5bcc\u7684Unity\u5f00\u53d1\u8005\uff0c\u63a8\u8350\u4f7f\u75282021.3.1\u7248\u672c\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6839\u636e\u4f60\u6240\u7528\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u9009\u62e9\u6a21\u5757\u65f6\uff0c\u5fc5\u987b\u9009\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Windows Build Support(IL2CPP)"),"\u6216",(0,l.kt)("inlineCode",{parentName:"li"},"Mac Build Support(IL2CPP)"),"\u3002")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"select il2cpp modules",src:n(8581).Z,width:"721",height:"507"})),(0,l.kt)("h3",{id:"\u5b89\u88c5ide\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883"},"\u5b89\u88c5IDE\u53ca\u76f8\u5173\u7f16\u8bd1\u73af\u5883"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Windows",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Win\u4e0b\u9700\u8981\u5b89\u88c5",(0,l.kt)("inlineCode",{parentName:"li"},"visual studio 2019"),"\u6216\u66f4\u9ad8\u7248\u672c\u3002\u5b89\u88c5\u65f6\u81f3\u5c11\u8981\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4f7f\u7528Unity\u7684\u6e38\u620f\u5f00\u53d1")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4f7f\u7528c++\u7684\u6e38\u620f\u5f00\u53d1")," \u7ec4\u4ef6\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5git"))),(0,l.kt)("li",{parentName:"ul"},"Mac",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\u8981\u6c42MacOS\u7248\u672c >= 12\uff0cxcode\u7248\u672c >= 13\uff0c\u4f8b\u5982",(0,l.kt)("inlineCode",{parentName:"li"},"xcode 13.4.1\uff0c macos 12.4"),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5b89\u88c5 git")))),(0,l.kt)("h2",{id:"\u521d\u59cb\u5316unity\u70ed\u66f4\u65b0\u9879\u76ee"},"\u521d\u59cb\u5316Unity\u70ed\u66f4\u65b0\u9879\u76ee"),(0,l.kt)("p",null,"\u4ece\u96f6\u5f00\u59cb\u6784\u9020\u70ed\u66f4\u65b0\u9879\u76ee\u7684\u8fc7\u7a0b\u8f83\u5197\u957f\uff0c\u9879\u76ee\u7ed3\u6784\u53ca\u8d44\u6e90\u53ca\u4ee3\u7801\u5747\u53ef\u53c2\u8003hybridclr_trial\u9879\u76ee\uff0c\u5176\u4ed3\u5e93\u5730\u5740\u4e3a ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/focus-creative-games/hybridclr_trial"},"github")," \u6216 ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/focus-creative-games/hybridclr_trial"},"gitee"),"\u3002"),(0,l.kt)("h3",{id:"\u521b\u5efa\u9879\u76ee"},"\u521b\u5efa\u9879\u76ee"),(0,l.kt)("p",null,"\u521b\u5efa\u7a7a\u7684Unity\u9879\u76ee\u3002"),(0,l.kt)("h3",{id:"\u521b\u5efaconsoletoscreencs\u811a\u672c"},"\u521b\u5efa",(0,l.kt)("inlineCode",{parentName:"h3"},"ConsoleToScreen.cs"),"\u811a\u672c"),(0,l.kt)("p",null,"\u8fd9\u4e2a\u811a\u672c\u5bf9\u4e8e\u6f14\u793a\u70ed\u66f4\u65b0\u6ca1\u6709\u76f4\u63a5\u4f5c\u7528\u3002\u5b83\u53ef\u4ee5\u6253\u5370\u65e5\u5fd7\u5230\u5c4f\u5e55\u4e0a\uff0c\u65b9\u4fbf\u5b9a\u4f4d\u9519\u8bef\u3002"),(0,l.kt)("p",null,"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/ConsoleToScreen.cs")," \u811a\u672c\u7c7b\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class ConsoleToScreen : MonoBehaviour\n{\n const int maxLines = 50;\n const int maxLineLength = 120;\n private string _logStr = "";\n\n private readonly List _lines = new List();\n\n public int fontSize = 15;\n\n void OnEnable() { Application.logMessageReceived += Log; }\n void OnDisable() { Application.logMessageReceived -= Log; }\n\n public void Log(string logString, string stackTrace, LogType type)\n {\n foreach (var line in logString.Split(\'\\n\'))\n {\n if (line.Length <= maxLineLength)\n {\n _lines.Add(line);\n continue;\n }\n var lineCount = line.Length / maxLineLength + 1;\n for (int i = 0; i < lineCount; i++)\n {\n if ((i + 1) * maxLineLength <= line.Length)\n {\n _lines.Add(line.Substring(i * maxLineLength, maxLineLength));\n }\n else\n {\n _lines.Add(line.Substring(i * maxLineLength, line.Length - i * maxLineLength));\n }\n }\n }\n if (_lines.Count > maxLines)\n {\n _lines.RemoveRange(0, _lines.Count - maxLines);\n }\n _logStr = string.Join("\\n", _lines);\n }\n\n void OnGUI()\n {\n GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity,\n new Vector3(Screen.width / 1200.0f, Screen.height / 800.0f, 1.0f));\n GUI.Label(new Rect(10, 10, 800, 370), _logStr, new GUIStyle() { fontSize = Math.Max(10, fontSize) });\n }\n}\n\n\n')),(0,l.kt)("h3",{id:"\u521b\u5efa\u4e3b\u573a\u666f"},"\u521b\u5efa\u4e3b\u573a\u666f"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa\u9ed8\u8ba4\u521d\u59cb\u573a\u666f main.scene"),(0,l.kt)("li",{parentName:"ul"},"\u573a\u666f\u4e2d\u521b\u5efa\u4e00\u4e2a\u7a7aGameObject\uff0c\u5c06ConsoleToScreen\u6302\u5230\u4e0a\u9762"),(0,l.kt)("li",{parentName:"ul"},"\u5728",(0,l.kt)("inlineCode",{parentName:"li"},"Build Settings"),"\u4e2d\u6dfb\u52a0main\u573a\u666f\u5230\u6253\u5305\u573a\u666f\u5217\u8868")),(0,l.kt)("h3",{id:"\u521b\u5efa-hotupdate-\u70ed\u66f4\u65b0\u6a21\u5757"},"\u521b\u5efa HotUpdate \u70ed\u66f4\u65b0\u6a21\u5757"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/HotUpdate")," \u76ee\u5f55"),(0,l.kt)("li",{parentName:"ul"},"\u5728\u76ee\u5f55\u4e0b \u53f3\u952e ",(0,l.kt)("inlineCode",{parentName:"li"},"Create/Assembly Definition"),"\uff0c\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a",(0,l.kt)("inlineCode",{parentName:"li"},"HotUpdate"),"\u7684\u7a0b\u5e8f\u96c6\u6a21\u5757",(0,l.kt)("admonition",{parentName:"li",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f60\u4eec\u9879\u76ee\u628aAssembly-CSharp\u4f5c\u4e3aAOT\u7a0b\u5e8f\u96c6\uff0c\u5f3a\u70c8\u5efa\u8bae\u5173\u95ed\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u7684",(0,l.kt)("inlineCode",{parentName:"p"},"auto reference"),"\u9009\u9879\u3002\u56e0\u4e3aAssembly-CSharp\u662f\u6700\u9876\u5c42assembly\uff0c\u5f00\u542f\u6b64\u9009\u9879\u540e\u4f1a\u81ea\u52a8\u5f15\u7528\u5269\u4f59\u6240\u6709assembly\uff0c\u5305\u62ec\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\uff0c\u5f88\u5bb9\u6613\u5c31\u51fa\u73b0\u5931\u8bef\u5f15\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u5bfc\u81f4\u6253\u5305\u5931\u8d25\u7684\u60c5\u51b5\u3002")))),(0,l.kt)("h2",{id:"\u5b89\u88c5\u548c\u914d\u7f6ehybridclr"},"\u5b89\u88c5\u548c\u914d\u7f6eHybridCLR"),(0,l.kt)("h3",{id:"\u5b89\u88c5-comcode-philosophyhybridclr-\u5305"},"\u5b89\u88c5 ",(0,l.kt)("inlineCode",{parentName:"h3"},"com.code-philosophy.hybridclr")," \u5305"),(0,l.kt)("p",null,"\u4e3b\u83dc\u5355\u4e2d\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"Windows/Package Manager"),"\u6253\u5f00\u5305\u7ba1\u7406\u5668\u3002\u5982\u4e0b\u56fe\u6240\u793a\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"Add package from git URL..."),"\uff0c\u586b\u5165",(0,l.kt)("inlineCode",{parentName:"p"},"https://gitee.com/focus-creative-games/hybridclr_unity.git"),"\u6216",(0,l.kt)("inlineCode",{parentName:"p"},"https://github.com/focus-creative-games/hybridclr_unity.git"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"add package",src:n(5283).Z,width:"808",height:"223"})),(0,l.kt)("p",null,"\u4e0d\u719f\u6089\u4eceurl\u5b89\u88c5package\u7684\u8bf7\u770b",(0,l.kt)("a",{parentName:"p",href:"https://docs.unity3d.com/Manual/upm-ui-giturl.html"},"install from giturl"),"\u3002"),(0,l.kt)("p",null,"\u7531\u4e8e\u56fd\u5185\u7f51\u7edc\u539f\u56e0\uff0c\u5728unity\u4e2d\u53ef\u80fd\u9047\u5230\u7f51\u7edc\u5f02\u5e38\u800c\u65e0\u6cd5\u5b89\u88c5\u3002\u4f60\u53ef\u4ee5\u5148\u628a ",(0,l.kt)("inlineCode",{parentName:"p"},"com.code-philosophy.hybridclr")," clone\u6216\u8005\u4e0b\u8f7d\u5230\u672c\u5730\uff0c\u5c06\u6587\u4ef6\u5939\u6539\u540d\u4e3a",(0,l.kt)("inlineCode",{parentName:"p"},"com.code-philosophy.hybridclr"),"\uff0c\u76f4\u63a5\u79fb\u52a8\u5230\u9879\u76ee\u7684",(0,l.kt)("inlineCode",{parentName:"p"},"Packages"),"\u76ee\u5f55\u4e0b\u5373\u53ef\u3002"),(0,l.kt)("h3",{id:"\u521d\u59cb\u5316-comcode-philosophyhybridclr"},"\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"h3"},"com.code-philosophy.hybridclr")),(0,l.kt)("p",null,"\u6253\u5f00\u83dc\u5355",(0,l.kt)("inlineCode",{parentName:"p"},"HybridCLR/Installer..."),"\uff0c \u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"p"},"\u5b89\u88c5"),"\u6309\u94ae\u8fdb\u884c\u5b89\u88c5\u3002 \u8010\u5fc3\u7b49\u5f8530s\u5de6\u53f3\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\u4f1a\u5728\u6700\u540e\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"p"},"\u5b89\u88c5\u6210\u529f"),"\u65e5\u5fd7\u3002"),(0,l.kt)("h3",{id:"\u914d\u7f6ehybridclr"},"\u914d\u7f6eHybridCLR"),(0,l.kt)("p",null,"\u6253\u5f00\u83dc\u5355 ",(0,l.kt)("inlineCode",{parentName:"p"},"HybridCLR/Settings"),"\uff0c \u5728",(0,l.kt)("inlineCode",{parentName:"p"},"Hot Update Assemblies"),"\u914d\u7f6e\u9879\u4e2d\u6dfb\u52a0",(0,l.kt)("inlineCode",{parentName:"p"},"HotUpdate"),"\u7a0b\u5e8f\u96c6\uff0c\u5982\u4e0b\u56fe\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"settings",src:n(2035).Z,width:"1129",height:"793"})),(0,l.kt)("h3",{id:"\u914d\u7f6eplayersettings"},"\u914d\u7f6ePlayerSettings"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5982\u679c\u4f60\u7528\u7684hybridclr\u5305",(0,l.kt)("strong",{parentName:"li"},"\u4f4e\u4e8ev4.0.0\u7248\u672c"),"\uff0c\u9700\u8981\u5173\u95ed\u589e\u91cf\u5f0fGC(Use Incremental GC) \u9009\u9879"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Scripting Backend")," \u5207\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"IL2CPP")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Api Compatability Level")," \u5207\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},".Net 4.x"),"(Unity 2019-2020) \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},".Net Framework"),"\uff08Unity 2021+\uff09")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"player settings",src:n(5333).Z,width:"716",height:"386"})),(0,l.kt)("h2",{id:"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c"},"\u521b\u5efa\u70ed\u66f4\u65b0\u811a\u672c"),(0,l.kt)("p",null,"\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/HotUpdate/Hello.cs")," \u6587\u4ef6\uff0c\u4ee3\u7801\u5185\u5bb9\u5982\u4e0b"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using System.Collections;\nusing UnityEngine;\n\npublic class Hello\n{\n public static void Run()\n {\n Debug.Log("Hello, HybridCLR");\n }\n}\n')),(0,l.kt)("p",null,"\u4f60\u53ef\u80fd\u4f1a\u5173\u5fc3\u70ed\u66f4\u65b0\u90e8\u5206\u7684\u4ee3\u7801\u4f1a\u4e0d\u4f1a\u50cf\u5176\u4ed6\u65b9\u6848\u90a3\u6837\u5bf9C#\u8bed\u6cd5\u6709\u9650\u5236\u3002HybridCLR\u662f\u8fd1\u4e4e\u5b8c\u5907\u7684\u5b9e\u73b0\uff0c\u5bf9\u70ed\u66f4\u65b0\u4ee3\u7801",(0,l.kt)("strong",{parentName:"p"},"\u51e0\u4e4e\u6ca1\u6709\u9650\u5236"),"\u3002\u6781\u5c11\u6570\u7684\u4f8b\u5916\u53ef\u4ee5\u67e5\u770b",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/notsupportedfeatures"},"\u4e0d\u652f\u6301\u7684\u7279\u6027"),"\u3002"),(0,l.kt)("h2",{id:"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"},"\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e3a\u4e86\u7b80\u5316\u6f14\u793a\uff0c\u6211\u4eec\u4e0d\u901a\u8fc7http\u670d\u52a1\u5668\u4e0b\u8f7dHotUpdate.dll\uff0c\u800c\u662f\u76f4\u63a5\u5c06HotUpdate.dll\u653e\u5230StreamingAssets\u76ee\u5f55\u4e0b\u3002"),(0,l.kt)("p",null,"HybridCLR\u662f\u539f\u751f\u8fd0\u884c\u65f6\u5b9e\u73b0\uff0c\u56e0\u6b64\u8c03\u7528",(0,l.kt)("inlineCode",{parentName:"p"},"Assembly Assembly.Load(byte[])"),"\u5373\u53ef\u52a0\u8f7d\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("p",null,"\u521b\u5efa",(0,l.kt)("inlineCode",{parentName:"p"},"Assets/LoadDll.cs"),"\u811a\u672c\uff0c\u7136\u540e",(0,l.kt)("strong",{parentName:"p"},"\u5728main\u573a\u666f\u4e2d\u521b\u5efa\u4e00\u4e2aGameObject\u5bf9\u8c61\uff0c\u6302\u8f7dLoadDll\u811a\u672c"),"\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},'using HybridCLR;\nusing System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Reflection;\nusing System.Threading.Tasks;\nusing UnityEngine;\nusing UnityEngine.Networking;\n\npublic class LoadDll : MonoBehaviour\n{\n\n void Start()\n {\n // Editor\u73af\u5883\u4e0b\uff0cHotUpdate.dll.bytes\u5df2\u7ecf\u88ab\u81ea\u52a8\u52a0\u8f7d\uff0c\u4e0d\u9700\u8981\u52a0\u8f7d\uff0c\u91cd\u590d\u52a0\u8f7d\u53cd\u800c\u4f1a\u51fa\u95ee\u9898\u3002\n#if !UNITY_EDITOR\n Assembly hotUpdateAss = Assembly.Load(File.ReadAllBytes($"{Application.streamingAssetsPath}/HotUpdate.dll.bytes"));\n#else\n // Editor\u4e0b\u65e0\u9700\u52a0\u8f7d\uff0c\u76f4\u63a5\u67e5\u627e\u83b7\u5f97HotUpdate\u7a0b\u5e8f\u96c6\n Assembly hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "HotUpdate");\n#endif\n }\n}\n\n')),(0,l.kt)("h2",{id:"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801"},"\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801"),(0,l.kt)("p",null,"\u663e\u7136\uff0c\u4e3b\u5de5\u7a0b\u4e0d\u80fd\u76f4\u63a5\u5f15\u7528\u70ed\u66f4\u65b0\u4ee3\u7801\u3002\u6709",(0,l.kt)("a",{parentName:"p",href:"/docs/basic/runhotupdatecodes"},"\u591a\u79cd\u65b9\u5f0f"),"\u53ef\u4ee5\u4ece\u4e3b\u5de5\u7a0b\u8c03\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u4e2d\u7684\u4ee3\u7801\uff0c\u8fd9\u91cc\u901a\u8fc7\u53cd\u5c04\u6765\u8c03\u7528\u70ed\u66f4\u65b0\u4ee3\u7801\u3002"),(0,l.kt)("p",null,"\u5728",(0,l.kt)("inlineCode",{parentName:"p"},"LoadDll.Start"),"\u51fd\u6570\u540e\u9762\u6dfb\u52a0\u53cd\u5c04\u8c03\u7528\u4ee3\u7801\uff0c\u6700\u7ec8\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-csharp"},' void Start()\n {\n // Editor\u73af\u5883\u4e0b\uff0cHotUpdate.dll.bytes\u5df2\u7ecf\u88ab\u81ea\u52a8\u52a0\u8f7d\uff0c\u4e0d\u9700\u8981\u52a0\u8f7d\uff0c\u91cd\u590d\u52a0\u8f7d\u53cd\u800c\u4f1a\u51fa\u95ee\u9898\u3002\n#if !UNITY_EDITOR\n Assembly hotUpdateAss = Assembly.Load(File.ReadAllBytes($"{Application.streamingAssetsPath}/HotUpdate.dll.bytes"));\n#else\n // Editor\u4e0b\u65e0\u9700\u52a0\u8f7d\uff0c\u76f4\u63a5\u67e5\u627e\u83b7\u5f97HotUpdate\u7a0b\u5e8f\u96c6\n Assembly hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "HotUpdate");\n#endif\n \n Type type = hotUpdateAss.GetType("Hello");\n type.GetMethod("Run").Invoke(null, null);\n }\n\n')),(0,l.kt)("p",null,"\u81f3\u6b64\uff0c\u5b8c\u6210\u6574\u4e2a\u70ed\u66f4\u65b0\u5de5\u7a0b\u7684\u521b\u5efa\u5de5\u4f5c\uff01\uff01\uff01"),(0,l.kt)("h2",{id:"editor\u4e2d\u8bd5\u8fd0\u884c"},"Editor\u4e2d\u8bd5\u8fd0\u884c"),(0,l.kt)("p",null,"\u8fd0\u884cmain\u573a\u666f\uff0c\u5c4f\u5e55\u4e0a\u4f1a\u663e\u793a 'Hello,HybridCLR'\uff0c\u8868\u793a\u4ee3\u7801\u5de5\u4f5c\u6b63\u5e38\u3002"),(0,l.kt)("h2",{id:"\u6253\u5305\u8fd0\u884c"},"\u6253\u5305\u8fd0\u884c"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u83dc\u5355 ",(0,l.kt)("inlineCode",{parentName:"li"},"HybridCLR/Generate/All")," \u8fdb\u884c\u5fc5\u8981\u7684\u751f\u6210\u64cd\u4f5c\u3002",(0,l.kt)("strong",{parentName:"li"},"\u8fd9\u4e00\u6b65\u4e0d\u53ef\u9057\u6f0f"),"!!!"),(0,l.kt)("li",{parentName:"ul"},"\u5c06",(0,l.kt)("inlineCode",{parentName:"li"},"{proj}/HybridCLRData/HotUpdateDlls/StandaloneWindows64(MacOS\u4e0b\u4e3aStandaloneMacXxx)"),"\u76ee\u5f55\u4e0b\u7684HotUpdate.dll\u590d\u5236\u5230",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/StreamingAssets/HotUpdate.dll.bytes"),"\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u6ce8\u610f"),"\uff0c\u8981\u52a0",(0,l.kt)("inlineCode",{parentName:"li"},".bytes"),"\u540e\u7f00\uff01\uff01\uff01"),(0,l.kt)("li",{parentName:"ul"},"\u6253\u5f00",(0,l.kt)("inlineCode",{parentName:"li"},"Build Settings"),"\u5bf9\u8bdd\u6846\uff0c\u70b9\u51fb",(0,l.kt)("inlineCode",{parentName:"li"},"Build And Run"),"\uff0c\u6253\u5305\u5e76\u4e14\u8fd0\u884c\u70ed\u66f4\u65b0\u793a\u4f8b\u5de5\u7a0b\u3002")),(0,l.kt)("p",null,"\u5982\u679c\u6253\u5305\u6210\u529f\uff0c\u5e76\u4e14\u5c4f\u5e55\u4e0a\u663e\u793a 'Hello,HybridCLR'\uff0c\u8868\u793a\u70ed\u66f4\u65b0\u4ee3\u7801\u88ab\u987a\u5229\u6267\u884c\uff01"),(0,l.kt)("h2",{id:"\u6d4b\u8bd5\u70ed\u66f4\u65b0"},"\u6d4b\u8bd5\u70ed\u66f4\u65b0"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4fee\u6539",(0,l.kt)("inlineCode",{parentName:"li"},"Assets/HotUpdate/Hello.cs"),"\u7684Run\u51fd\u6570\u4e2d",(0,l.kt)("inlineCode",{parentName:"li"},'Debug.Log("Hello, HybridCLR");'),"\u4ee3\u7801\uff0c\u6539\u6210",(0,l.kt)("inlineCode",{parentName:"li"},'Debug.Log("Hello, World");'),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u83dc\u5355\u547d\u4ee4",(0,l.kt)("inlineCode",{parentName:"li"},"HybridCLR/CompileDll/ActiveBulidTarget"),"\u91cd\u65b0\u7f16\u8bd1\u70ed\u66f4\u65b0\u4ee3\u7801\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5c06",(0,l.kt)("inlineCode",{parentName:"li"},"{proj}/HybridCLRData/HotUpdateDlls/StandaloneWindows64(MacOS\u4e0b\u4e3aStandaloneMacXxx)"),"\u76ee\u5f55\u4e0b\u7684HotUpdate.dll\u590d\u5236\u4e3a\u521a\u624d\u7684\u6253\u5305\u8f93\u51fa\u76ee\u5f55\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"XXX_Data/StreamingAssets/HotUpdate.dll.bytes"),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u91cd\u65b0\u8fd0\u884c\u7a0b\u5e8f\uff0c\u4f1a\u53d1\u73b0\u5c4f\u5e55\u4e2d\u663e\u793a",(0,l.kt)("inlineCode",{parentName:"li"},"Hello, World"),"\uff0c\u8868\u793a\u70ed\u66f4\u65b0\u4ee3\u7801\u751f\u6548\u4e86\uff01 ")),(0,l.kt)("p",null,"\u81f3\u6b64\u5b8c\u6210\u70ed\u66f4\u65b0\u4f53\u9a8c\uff01\uff01\uff01"))}u.isMDXComponent=!0},5283:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/install_hybridclrunity_package-9a53b1ee8f7ffd8a700ed1f977ca74e3.jpg"},5333:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/player-setting-8e2d11f023bda2ec70c4ddd7f3b1b815.png"},8581:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/select_il2cpp_modules-d895c3fb5390e04b53e40ada2b422239.jpg"},2035:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/settings-d70a8f4ec98d703cc588cc110dc5a57c.jpg"}}]); \ No newline at end of file diff --git a/assets/js/0f4b3ece.4340d504.js b/assets/js/0f4b3ece.08855efb.js similarity index 85% rename from assets/js/0f4b3ece.4340d504.js rename to assets/js/0f4b3ece.08855efb.js index 6d07ecf6..1b26ff6c 100644 --- a/assets/js/0f4b3ece.4340d504.js +++ b/assets/js/0f4b3ece.08855efb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[3892],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>d});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var o=r.createContext({}),p=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),y=l,d=u["".concat(o,".").concat(y)]||u[y]||m[y]||a;return n?r.createElement(d,i(i({ref:t},c),{},{components:n})):r.createElement(d,i({ref:t},c))}));function d(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,i=new Array(a);i[0]=y;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:l,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),l=(n(7294),n(3905));const a={},i="\u914d\u7f6e\u7a0b\u5e8f\u96c6",s={unversionedId:"basic/hotupdateassemblysetting",id:"basic/hotupdateassemblysetting",title:"\u914d\u7f6e\u7a0b\u5e8f\u96c6",description:"\u4e00\u822c\u6765\u8bf4\uff0c\u5fc5\u987b\u5c06\u70ed\u66f4\u65b0\u4ee3\u7801\u72ec\u7acb\u4e3aassembly\uff0c\u624d\u80fd\u65b9\u4fbf\u5730\u8fdb\u884c\u70ed\u66f4\u65b0\u3002",source:"@site/docs/basic/hotupdateassemblysetting.md",sourceDirName:"basic",slug:"/basic/hotupdateassemblysetting",permalink:"/docs/basic/hotupdateassemblysetting",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u914d\u7f6e",permalink:"/docs/basic/projectsettings"},next:{title:"\u52a0\u8f7d\u548c\u8fd0\u884c",permalink:"/docs/basic/runhotupdatecodes"}},o={},p=[{value:"\u7a0b\u5e8f\u96c6\u5206\u7c7b",id:"\u7a0b\u5e8f\u96c6\u5206\u7c7b",level:2},{value:"Assembly Definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6",id:"assembly-definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6",level:3},{value:"Assembly-CSharp \u7a0b\u5e8f\u96c6",id:"assembly-csharp-\u7a0b\u5e8f\u96c6",level:3},{value:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6",id:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6",level:3},{value:"\u5212\u5206\u7a0b\u5e8f\u96c6",id:"\u5212\u5206\u7a0b\u5e8f\u96c6",level:2}],c={toc:p},u="wrapper";function m(e){let{components:t,...n}=e;return(0,l.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u914d\u7f6e\u7a0b\u5e8f\u96c6"},"\u914d\u7f6e\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e00\u822c\u6765\u8bf4\uff0c\u5fc5\u987b\u5c06\u70ed\u66f4\u65b0\u4ee3\u7801\u72ec\u7acb\u4e3aassembly\uff0c\u624d\u80fd\u65b9\u4fbf\u5730\u8fdb\u884c\u70ed\u66f4\u65b0\u3002"),(0,l.kt)("h2",{id:"\u7a0b\u5e8f\u96c6\u5206\u7c7b"},"\u7a0b\u5e8f\u96c6\u5206\u7c7b"),(0,l.kt)("h3",{id:"assembly-definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6"},"Assembly Definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u8fd9\u662fUnity\u63a8\u8350\u7684\u7a0b\u5e8f\u96c6\u65b9\u5f0f\u3002\u5c06\u4e00\u4e2a\u5927\u7684Unity\u9879\u76ee\u4ee3\u7801\u62c6\u5206\u4e3a\u591a\u4e2a\u7a0b\u5e8f\u96c6\u6a21\u5757\uff0c\u4fbf\u4e8e\u7ba1\u7406\uff0c\u7f29\u77ed\u7f16\u8bd1\u65f6\u95f4\u3002"),(0,l.kt)("p",null,"\u8bf7\u9605\u8bfb\u6587\u6863",(0,l.kt)("a",{parentName:"p",href:"https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html"},"Assembly definitions"),"\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("h3",{id:"assembly-csharp-\u7a0b\u5e8f\u96c6"},"Assembly-CSharp \u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u8fd9\u662fUnity\u7684\u9ed8\u8ba4\u5168\u5c40\u7a0b\u5e8f\u96c6\u3002\u5b83\u53ef\u4ee5\u50cf\u666e\u901adll\u4e00\u6837\u5f53\u4f5c\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("h3",{id:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6"},"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e00\u4e9b\u4ee3\u7801\u88ab\u63d0\u524d\u7f16\u8bd1\u6210dll\u6587\u4ef6\uff0c\u518d\u79fb\u5230\u9879\u76ee\u4e2d\u3002"),(0,l.kt)("h2",{id:"\u5212\u5206\u7a0b\u5e8f\u96c6"},"\u5212\u5206\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u5f88\u663e\u7136\uff0c\u9879\u76ee\u4ee3\u7801\u5fc5\u987b\u5408\u7406\u62c6\u5206\u4e3a",(0,l.kt)("inlineCode",{parentName:"p"},"AOT"),"\uff08\u5373\u7f16\u8bd1\u5230\u6e38\u620f\u4e3b\u5305\u5185\uff09\u7a0b\u5e8f\u96c6 \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"\u70ed\u66f4\u65b0"),"\u7a0b\u5e8f\u96c6\uff0c\u624d\u80fd\u8fdb\u884c\u70ed\u66f4\u65b0\u3002HybridCLR\u5bf9\u4e8e\n\u600e\u4e48\u62c6\u5206\u7a0b\u5e8f\u96c6\u5e76\u65e0\u4efb\u4f55\u9650\u5236\uff0c\u751a\u81f3\u53ef\u4ee5\u628a\u7b2c\u4e09\u65b9\u5de5\u7a0b\u4e2d\u7684\u4ee3\u7801\u4f5c\u4e3a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u6e38\u620f\u521a\u542f\u52a8\u65f6\uff0c\u81f3\u5c11\u9700\u8981\u4e00\u4e2aAOT\u7a0b\u5e8f\u96c6\u6765\u8d1f\u8d23\u542f\u52a8\u53ca\u70ed\u66f4\u65b0\u76f8\u5173\u5de5\u4f5c\u3002"),(0,l.kt)("p",null,"\u5e38\u89c1\u7684\u62c6\u5206\u65b9\u5f0f\u6709\u51e0\u79cd\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Assembly-CSharp\u4f5c\u4e3aAOT\u7a0b\u5e8f\u96c6\u3002\u5269\u4f59\u4ee3\u7801\u81ea\u5df1\u62c6\u5206\u4e3aN\u4e2aAOT\u7a0b\u5e8f\u96c6\u548cM\u4e2a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("li",{parentName:"ul"},"Assembly-CSharp\u4f5c\u4e3a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002\u5269\u4f59\u4ee3\u7801\u81ea\u5df1\u62c6\u5206\u4e3aN\u4e2aAOT\u7a0b\u5e8f\u96c6\u548cM\u4e2a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002")),(0,l.kt)("p",null,"\u65e0\u8bba\u54ea\u79cd\u62c6\u5206\u65b9\u5f0f\uff0c\u6b63\u786e\u8bbe\u7f6e\u597d\u7a0b\u5e8f\u96c6\u4e4b\u95f4\u7684\u5f15\u7528\u5173\u7cfb\u5373\u53ef\u3002\u8bf7\u4e0d\u8981\u5728AOT\u7a0b\u5e8f\u96c6\u4e2d\u5f15\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\uff0c\u5426\u5219\u4f1a\u5bfc\u81f4\u6253\u5305\u51fa\u9519\u3002\u5c24\u5176\u662f\n\u628aAssembly-CSharp\u4f5c\u4e3aAOT\u7a0b\u5e8f\u96c6\uff0c\u7531\u4e8eAssembly-CSharp\u662f\u6700\u9876\u5c42assembly\uff0c\u5b83\u4f1a\u81ea\u52a8\u5f15\u7528\u5269\u4f59\u6240\u6709assembly\uff0c\u5f88\u5bb9\u6613\u5c31\u51fa\u73b0\n\u5931\u8bef\u5f15\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u7684\u60c5\u51b5\u3002"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[3892],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>y});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var o=r.createContext({}),p=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=l,y=u["".concat(o,".").concat(d)]||u[d]||m[d]||a;return n?r.createElement(y,i(i({ref:t},c),{},{components:n})):r.createElement(y,i({ref:t},c))}));function y(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,i=new Array(a);i[0]=d;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:l,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),l=(n(7294),n(3905));const a={},i="\u914d\u7f6e\u7a0b\u5e8f\u96c6",s={unversionedId:"basic/hotupdateassemblysetting",id:"basic/hotupdateassemblysetting",title:"\u914d\u7f6e\u7a0b\u5e8f\u96c6",description:"\u4e00\u822c\u6765\u8bf4\uff0c\u5fc5\u987b\u5c06\u70ed\u66f4\u65b0\u4ee3\u7801\u72ec\u7acb\u4e3aassembly\uff0c\u624d\u80fd\u65b9\u4fbf\u5730\u8fdb\u884c\u70ed\u66f4\u65b0\u3002",source:"@site/docs/basic/hotupdateassemblysetting.md",sourceDirName:"basic",slug:"/basic/hotupdateassemblysetting",permalink:"/docs/basic/hotupdateassemblysetting",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u914d\u7f6e",permalink:"/docs/basic/projectsettings"},next:{title:"\u52a0\u8f7d\u548c\u8fd0\u884c",permalink:"/docs/basic/runhotupdatecodes"}},o={},p=[{value:"\u7a0b\u5e8f\u96c6\u5206\u7c7b",id:"\u7a0b\u5e8f\u96c6\u5206\u7c7b",level:2},{value:"Assembly Definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6",id:"assembly-definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6",level:3},{value:"Assembly-CSharp \u7a0b\u5e8f\u96c6",id:"assembly-csharp-\u7a0b\u5e8f\u96c6",level:3},{value:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6",id:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6",level:3},{value:"\u5212\u5206\u7a0b\u5e8f\u96c6",id:"\u5212\u5206\u7a0b\u5e8f\u96c6",level:2}],c={toc:p},u="wrapper";function m(e){let{components:t,...n}=e;return(0,l.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u914d\u7f6e\u7a0b\u5e8f\u96c6"},"\u914d\u7f6e\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e00\u822c\u6765\u8bf4\uff0c\u5fc5\u987b\u5c06\u70ed\u66f4\u65b0\u4ee3\u7801\u72ec\u7acb\u4e3aassembly\uff0c\u624d\u80fd\u65b9\u4fbf\u5730\u8fdb\u884c\u70ed\u66f4\u65b0\u3002"),(0,l.kt)("h2",{id:"\u7a0b\u5e8f\u96c6\u5206\u7c7b"},"\u7a0b\u5e8f\u96c6\u5206\u7c7b"),(0,l.kt)("h3",{id:"assembly-definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6"},"Assembly Definition\u5b9a\u4e49\u7684\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u8fd9\u662fUnity\u63a8\u8350\u7684\u7a0b\u5e8f\u96c6\u65b9\u5f0f\u3002\u5c06\u4e00\u4e2a\u5927\u7684Unity\u9879\u76ee\u4ee3\u7801\u62c6\u5206\u4e3a\u591a\u4e2a\u7a0b\u5e8f\u96c6\u6a21\u5757\uff0c\u4fbf\u4e8e\u7ba1\u7406\uff0c\u7f29\u77ed\u7f16\u8bd1\u65f6\u95f4\u3002"),(0,l.kt)("p",null,"\u8bf7\u9605\u8bfb\u6587\u6863",(0,l.kt)("a",{parentName:"p",href:"https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html"},"Assembly definitions"),"\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("h3",{id:"assembly-csharp-\u7a0b\u5e8f\u96c6"},"Assembly-CSharp \u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u8fd9\u662fUnity\u7684\u9ed8\u8ba4\u5168\u5c40\u7a0b\u5e8f\u96c6\u3002\u5b83\u53ef\u4ee5\u50cf\u666e\u901adll\u4e00\u6837\u5f53\u4f5c\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("h3",{id:"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6"},"\u666e\u901a\u7684dll\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u4e00\u4e9b\u4ee3\u7801\u88ab\u63d0\u524d\u7f16\u8bd1\u6210dll\u6587\u4ef6\uff0c\u518d\u79fb\u5230\u9879\u76ee\u4e2d\u3002"),(0,l.kt)("h2",{id:"\u5212\u5206\u7a0b\u5e8f\u96c6"},"\u5212\u5206\u7a0b\u5e8f\u96c6"),(0,l.kt)("p",null,"\u5f88\u663e\u7136\uff0c\u9879\u76ee\u4ee3\u7801\u5fc5\u987b\u5408\u7406\u62c6\u5206\u4e3a",(0,l.kt)("inlineCode",{parentName:"p"},"AOT"),"\uff08\u5373\u7f16\u8bd1\u5230\u6e38\u620f\u4e3b\u5305\u5185\uff09\u7a0b\u5e8f\u96c6 \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"\u70ed\u66f4\u65b0"),"\u7a0b\u5e8f\u96c6\uff0c\u624d\u80fd\u8fdb\u884c\u70ed\u66f4\u65b0\u3002HybridCLR\u5bf9\u4e8e\n\u600e\u4e48\u62c6\u5206\u7a0b\u5e8f\u96c6\u5e76\u65e0\u4efb\u4f55\u9650\u5236\uff0c\u751a\u81f3\u53ef\u4ee5\u628a\u7b2c\u4e09\u65b9\u5de5\u7a0b\u4e2d\u7684\u4ee3\u7801\u4f5c\u4e3a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u6e38\u620f\u521a\u542f\u52a8\u65f6\uff0c\u81f3\u5c11\u9700\u8981\u4e00\u4e2aAOT\u7a0b\u5e8f\u96c6\u6765\u8d1f\u8d23\u542f\u52a8\u53ca\u70ed\u66f4\u65b0\u76f8\u5173\u5de5\u4f5c\u3002"),(0,l.kt)("p",null,"\u5e38\u89c1\u7684\u62c6\u5206\u65b9\u5f0f\u6709\u51e0\u79cd\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Assembly-CSharp\u4f5c\u4e3aAOT\u7a0b\u5e8f\u96c6\u3002\u5269\u4f59\u4ee3\u7801\u81ea\u5df1\u62c6\u5206\u4e3aN\u4e2aAOT\u7a0b\u5e8f\u96c6\u548cM\u4e2a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002"),(0,l.kt)("li",{parentName:"ul"},"Assembly-CSharp\u4f5c\u4e3a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002\u5269\u4f59\u4ee3\u7801\u81ea\u5df1\u62c6\u5206\u4e3aN\u4e2aAOT\u7a0b\u5e8f\u96c6\u548cM\u4e2a\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u3002")),(0,l.kt)("p",null,"\u65e0\u8bba\u54ea\u79cd\u62c6\u5206\u65b9\u5f0f\uff0c\u6b63\u786e\u8bbe\u7f6e\u597d\u7a0b\u5e8f\u96c6\u4e4b\u95f4\u7684\u5f15\u7528\u5173\u7cfb\u5373\u53ef\u3002\u8bf7\u4e0d\u8981\u5728AOT\u7a0b\u5e8f\u96c6\u4e2d\u5f15\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u6253\u5305\u51fa\u9519\u3002\u5982\u679c\n\u4f60\u4eec\u9879\u76ee\u628aAssembly-CSharp\u4f5c\u4e3aAOT\u7a0b\u5e8f\u96c6\uff0c\u5f3a\u70c8\u5efa\u8bae\u5173\u95ed\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u7684",(0,l.kt)("inlineCode",{parentName:"p"},"auto reference"),"\u9009\u9879\u3002\u56e0\u4e3aAssembly-CSharp\u662f\u6700\u9876\u5c42assembly\uff0c\u5b83\u4f1a\u81ea\u52a8\u5f15\u7528\u5269\u4f59\u6240\u6709assembly\uff0c\u5f88\u5bb9\u6613\u5c31\u51fa\u73b0\u5931\u8bef\u5f15\u7528\u70ed\u66f4\u65b0\u7a0b\u5e8f\u96c6\u7684\u60c5\u51b5\u3002"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.c77b8a35.js b/assets/js/runtime~main.70027370.js similarity index 98% rename from assets/js/runtime~main.c77b8a35.js rename to assets/js/runtime~main.70027370.js index 32ff7e4b..d0a58150 100644 --- a/assets/js/runtime~main.c77b8a35.js +++ b/assets/js/runtime~main.70027370.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return b[e].call(c.exports,c,c.exports,r),c.exports}r.m=b,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({12:"f160c361",53:"935f2afb",90:"2efe1410",220:"6ec19757",434:"90b957e4",533:"b2b675dd",685:"05f46752",688:"e044ccdf",852:"6704bb9d",964:"733c4d41",1176:"84b73551",1198:"72413e93",1433:"ff8c06e1",1477:"b2f554cd",1634:"e6335e6f",1744:"7bef7309",1752:"dd53d751",1977:"099d81ac",1998:"6d0a6812",2e3:"90e3b8d9",2034:"21ad55e6",2182:"f739fd9f",2306:"48d46c19",2365:"a7626ec9",2535:"814f3328",2616:"e9748e8f",2815:"918ca7cd",2828:"b7eeea20",2838:"635e1cda",2857:"cab0a0b1",2965:"c9dac562",3089:"a6aa9e1f",3131:"fe886eaa",3170:"b74f6ad3",3423:"7d20b2b1",3503:"744de10c",3608:"9e4087bc",3764:"7618167c",3777:"303a7ab0",3892:"0f4b3ece",4103:"e9ab53df",4130:"dd933416",4195:"c4f5d8e4",4369:"9e92f087",4475:"bacda3a9",4569:"39b1bd06",5041:"ebee79fe",5080:"88236a13",5153:"c9aab52f",5183:"032c34c3",5367:"26b576d2",5649:"5dd67a5f",5650:"5148d8fe",5659:"27b4bb7f",5746:"5a96aca1",5936:"1566bc1f",6103:"ccc49370",6290:"1d92ca72",6333:"41bb1898",6468:"4dfc0651",6729:"bdd7c4d4",6848:"f33e1a49",7020:"ba76a366",7040:"fbd8196d",7065:"80680481",7087:"1b21ecc3",7203:"f4f82255",7404:"742b5987",7589:"0ccd1bc3",7681:"a99908d5",7884:"c71319a4",7918:"17896441",7920:"1a4e3797",7991:"7faaab83",8052:"b7e34b9a",8063:"f93d3a31",8787:"c55163c5",9106:"3d345fd1",9124:"c4ad3b7e",9451:"355d470d",9462:"9b588bbf",9514:"1be78505",9671:"0e384e19",9817:"14eb3368",9822:"3d291b3d",9888:"026413ce"}[e]||e)+"."+{12:"3b57c09e",53:"d90132d1",90:"e2232209",220:"15827c36",434:"01d83772",533:"d838adc3",685:"321291db",688:"91697c54",852:"349bb8ca",964:"f7189ca4",1176:"19d7f58c",1198:"a2d62704",1426:"f6ed8f65",1433:"d1e528c8",1477:"65b4b0f1",1634:"690dff03",1744:"12476551",1752:"9d2d5e36",1977:"2873fc9c",1998:"742d95ee",2e3:"cea902da",2034:"f05e7d12",2182:"ad078e06",2306:"4d90ead8",2365:"1a7ed67a",2535:"9d9ea10e",2616:"8ff4f04a",2815:"0525f1e5",2828:"cbb0c6af",2838:"5892eafb",2857:"e6128cda",2965:"fe48b928",3089:"d1467cbe",3131:"a8704c94",3170:"fef9d017",3423:"463916d8",3503:"64d89e78",3608:"e989768d",3764:"3d52885e",3777:"f657297a",3892:"4340d504",4103:"b15d6b20",4130:"9f3bde5c",4195:"e054211d",4369:"356f50d5",4475:"8c2e86cf",4569:"e57052c7",4972:"3d0f496c",5041:"3e77bb41",5080:"ce7b4e42",5153:"4a39de02",5183:"3d592d84",5367:"467ebaf3",5649:"7c9ec303",5650:"8911351c",5659:"86c2844f",5746:"f49f1414",5936:"88c9b8e5",6048:"779f8c90",6103:"1d3911bc",6186:"170d1bc9",6290:"3e88330e",6333:"1eb39c27",6468:"c5633afd",6729:"29db6262",6848:"ab097966",6945:"94f4a660",7020:"2330e1fc",7040:"28169402",7065:"e23c508d",7087:"e4808fe0",7203:"cbedbc3b",7404:"5809c436",7589:"3ae65c80",7681:"bbfc0c56",7884:"34b74eaa",7918:"d5cb46e3",7920:"bd81094a",7991:"152c94b7",8052:"022da9e7",8063:"93bf2927",8787:"ec56e041",8894:"91734414",9106:"689ba83f",9124:"fedac576",9451:"594f8519",9462:"4798c258",9514:"d5cf2d0b",9671:"266370e9",9817:"0f68630a",9822:"94f115f8",9888:"dd84d40b"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="my-website:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",80680481:"7065",f160c361:"12","935f2afb":"53","2efe1410":"90","6ec19757":"220","90b957e4":"434",b2b675dd:"533","05f46752":"685",e044ccdf:"688","6704bb9d":"852","733c4d41":"964","84b73551":"1176","72413e93":"1198",ff8c06e1:"1433",b2f554cd:"1477",e6335e6f:"1634","7bef7309":"1744",dd53d751:"1752","099d81ac":"1977","6d0a6812":"1998","90e3b8d9":"2000","21ad55e6":"2034",f739fd9f:"2182","48d46c19":"2306",a7626ec9:"2365","814f3328":"2535",e9748e8f:"2616","918ca7cd":"2815",b7eeea20:"2828","635e1cda":"2838",cab0a0b1:"2857",c9dac562:"2965",a6aa9e1f:"3089",fe886eaa:"3131",b74f6ad3:"3170","7d20b2b1":"3423","744de10c":"3503","9e4087bc":"3608","7618167c":"3764","303a7ab0":"3777","0f4b3ece":"3892",e9ab53df:"4103",dd933416:"4130",c4f5d8e4:"4195","9e92f087":"4369",bacda3a9:"4475","39b1bd06":"4569",ebee79fe:"5041","88236a13":"5080",c9aab52f:"5153","032c34c3":"5183","26b576d2":"5367","5dd67a5f":"5649","5148d8fe":"5650","27b4bb7f":"5659","5a96aca1":"5746","1566bc1f":"5936",ccc49370:"6103","1d92ca72":"6290","41bb1898":"6333","4dfc0651":"6468",bdd7c4d4:"6729",f33e1a49:"6848",ba76a366:"7020",fbd8196d:"7040","1b21ecc3":"7087",f4f82255:"7203","742b5987":"7404","0ccd1bc3":"7589",a99908d5:"7681",c71319a4:"7884","1a4e3797":"7920","7faaab83":"7991",b7e34b9a:"8052",f93d3a31:"8063",c55163c5:"8787","3d345fd1":"9106",c4ad3b7e:"9124","355d470d":"9451","9b588bbf":"9462","1be78505":"9514","0e384e19":"9671","14eb3368":"9817","3d291b3d":"9822","026413ce":"9888"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return b[e].call(c.exports,c,c.exports,r),c.exports}r.m=b,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({12:"f160c361",53:"935f2afb",90:"2efe1410",220:"6ec19757",434:"90b957e4",533:"b2b675dd",685:"05f46752",688:"e044ccdf",852:"6704bb9d",964:"733c4d41",1176:"84b73551",1198:"72413e93",1433:"ff8c06e1",1477:"b2f554cd",1634:"e6335e6f",1744:"7bef7309",1752:"dd53d751",1977:"099d81ac",1998:"6d0a6812",2e3:"90e3b8d9",2034:"21ad55e6",2182:"f739fd9f",2306:"48d46c19",2365:"a7626ec9",2535:"814f3328",2616:"e9748e8f",2815:"918ca7cd",2828:"b7eeea20",2838:"635e1cda",2857:"cab0a0b1",2965:"c9dac562",3089:"a6aa9e1f",3131:"fe886eaa",3170:"b74f6ad3",3423:"7d20b2b1",3503:"744de10c",3608:"9e4087bc",3764:"7618167c",3777:"303a7ab0",3892:"0f4b3ece",4103:"e9ab53df",4130:"dd933416",4195:"c4f5d8e4",4369:"9e92f087",4475:"bacda3a9",4569:"39b1bd06",5041:"ebee79fe",5080:"88236a13",5153:"c9aab52f",5183:"032c34c3",5367:"26b576d2",5649:"5dd67a5f",5650:"5148d8fe",5659:"27b4bb7f",5746:"5a96aca1",5936:"1566bc1f",6103:"ccc49370",6290:"1d92ca72",6333:"41bb1898",6468:"4dfc0651",6729:"bdd7c4d4",6848:"f33e1a49",7020:"ba76a366",7040:"fbd8196d",7065:"80680481",7087:"1b21ecc3",7203:"f4f82255",7404:"742b5987",7589:"0ccd1bc3",7681:"a99908d5",7884:"c71319a4",7918:"17896441",7920:"1a4e3797",7991:"7faaab83",8052:"b7e34b9a",8063:"f93d3a31",8787:"c55163c5",9106:"3d345fd1",9124:"c4ad3b7e",9451:"355d470d",9462:"9b588bbf",9514:"1be78505",9671:"0e384e19",9817:"14eb3368",9822:"3d291b3d",9888:"026413ce"}[e]||e)+"."+{12:"3b57c09e",53:"d90132d1",90:"e2232209",220:"15827c36",434:"01d83772",533:"d838adc3",685:"a462ac2d",688:"91697c54",852:"349bb8ca",964:"f7189ca4",1176:"19d7f58c",1198:"a2d62704",1426:"f6ed8f65",1433:"d1e528c8",1477:"65b4b0f1",1634:"690dff03",1744:"12476551",1752:"9d2d5e36",1977:"2873fc9c",1998:"742d95ee",2e3:"cea902da",2034:"f05e7d12",2182:"ad078e06",2306:"4d90ead8",2365:"1a7ed67a",2535:"9d9ea10e",2616:"8ff4f04a",2815:"0525f1e5",2828:"cbb0c6af",2838:"5892eafb",2857:"e6128cda",2965:"fe48b928",3089:"d1467cbe",3131:"a8704c94",3170:"fef9d017",3423:"463916d8",3503:"64d89e78",3608:"e989768d",3764:"3d52885e",3777:"f657297a",3892:"08855efb",4103:"b15d6b20",4130:"9f3bde5c",4195:"e054211d",4369:"356f50d5",4475:"8c2e86cf",4569:"e57052c7",4972:"3d0f496c",5041:"3e77bb41",5080:"ce7b4e42",5153:"4a39de02",5183:"3d592d84",5367:"467ebaf3",5649:"7c9ec303",5650:"8911351c",5659:"86c2844f",5746:"f49f1414",5936:"88c9b8e5",6048:"779f8c90",6103:"1d3911bc",6186:"170d1bc9",6290:"3e88330e",6333:"1eb39c27",6468:"c5633afd",6729:"29db6262",6848:"ab097966",6945:"94f4a660",7020:"2330e1fc",7040:"28169402",7065:"e23c508d",7087:"e4808fe0",7203:"cbedbc3b",7404:"5809c436",7589:"3ae65c80",7681:"bbfc0c56",7884:"34b74eaa",7918:"d5cb46e3",7920:"bd81094a",7991:"152c94b7",8052:"022da9e7",8063:"93bf2927",8787:"ec56e041",8894:"91734414",9106:"689ba83f",9124:"fedac576",9451:"594f8519",9462:"4798c258",9514:"d5cf2d0b",9671:"266370e9",9817:"0f68630a",9822:"94f115f8",9888:"dd84d40b"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="my-website:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",80680481:"7065",f160c361:"12","935f2afb":"53","2efe1410":"90","6ec19757":"220","90b957e4":"434",b2b675dd:"533","05f46752":"685",e044ccdf:"688","6704bb9d":"852","733c4d41":"964","84b73551":"1176","72413e93":"1198",ff8c06e1:"1433",b2f554cd:"1477",e6335e6f:"1634","7bef7309":"1744",dd53d751:"1752","099d81ac":"1977","6d0a6812":"1998","90e3b8d9":"2000","21ad55e6":"2034",f739fd9f:"2182","48d46c19":"2306",a7626ec9:"2365","814f3328":"2535",e9748e8f:"2616","918ca7cd":"2815",b7eeea20:"2828","635e1cda":"2838",cab0a0b1:"2857",c9dac562:"2965",a6aa9e1f:"3089",fe886eaa:"3131",b74f6ad3:"3170","7d20b2b1":"3423","744de10c":"3503","9e4087bc":"3608","7618167c":"3764","303a7ab0":"3777","0f4b3ece":"3892",e9ab53df:"4103",dd933416:"4130",c4f5d8e4:"4195","9e92f087":"4369",bacda3a9:"4475","39b1bd06":"4569",ebee79fe:"5041","88236a13":"5080",c9aab52f:"5153","032c34c3":"5183","26b576d2":"5367","5dd67a5f":"5649","5148d8fe":"5650","27b4bb7f":"5659","5a96aca1":"5746","1566bc1f":"5936",ccc49370:"6103","1d92ca72":"6290","41bb1898":"6333","4dfc0651":"6468",bdd7c4d4:"6729",f33e1a49:"6848",ba76a366:"7020",fbd8196d:"7040","1b21ecc3":"7087",f4f82255:"7203","742b5987":"7404","0ccd1bc3":"7589",a99908d5:"7681",c71319a4:"7884","1a4e3797":"7920","7faaab83":"7991",b7e34b9a:"8052",f93d3a31:"8063",c55163c5:"8787","3d345fd1":"9106",c4ad3b7e:"9124","355d470d":"9451","9b588bbf":"9462","1be78505":"9514","0e384e19":"9671","14eb3368":"9817","3d291b3d":"9822","026413ce":"9888"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n