国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity Il2cpp 游戲的 Mod 制作教程03 - HelloWorld

2023-04-17 23:50 作者:Turing1337  | 我要投稿

一切準(zhǔn)備就緒,讓我們來(lái)寫(xiě)一個(gè)hello world吧。

插件的入口點(diǎn)

首先是繼承了 BasePlugin 的類(lèi),也就是插件的入口點(diǎn),Load 會(huì)被 BepInEx 調(diào)用。與mono 游戲的插件不同,BasePlugin 并不是 MonoBehaviour 的派生類(lèi),也就沒(méi)有 Update 之類(lèi)的接口。因此如果我們想要用到 mono 組件,比如創(chuàng)建一個(gè)UI,接受用戶(hù)輸入,或者動(dòng)態(tài)加載資源等等, 就需要?jiǎng)?chuàng)建自己的 mono object 。但如果你只是想要用harmony去patch一些函數(shù),那就不需要這些操作了。

需要注意的是,如果過(guò)早的創(chuàng)建mono object 會(huì)導(dǎo)致無(wú)法將其加入到第一個(gè)Scene 中。所以我們不能直接在 Load 中創(chuàng)建 mono object,而應(yīng)該在一個(gè)合適的時(shí)間點(diǎn)來(lái)加載Mod。

下面給出兩個(gè)思路:

  1. Unity游戲一般都會(huì)有 CanvasScaler 組件,且會(huì)在 OnEnable 時(shí)調(diào)用?Handle,所以可以通過(guò) hook Handle 來(lái)創(chuàng)建 mono object。

  2. 將創(chuàng)建任務(wù)綁定到 SceneManager.sceneLoaded Event,并在創(chuàng)建時(shí)解除綁定。


Mono Object 類(lèi)

如上所述,我們需要一個(gè) MonoBehaviour 對(duì)象來(lái)實(shí)現(xiàn)豐富的功能。

代碼寫(xiě)完開(kāi)始編譯,如果之前修改了項(xiàng)目配置,那么生成的插件 dll 會(huì)自動(dòng)拷貝到 plugins 下,否則,需要我們手動(dòng)拷貝。

拷貝插件到plugins

運(yùn)行游戲來(lái)看一下效果。如果成功的話(huà)我們每按一次 Tab 就會(huì)在命令行輸出一次 Hello World!。

運(yùn)行效果


Unity Il2cpp 游戲的 Mod 制作教程03 - HelloWorld的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
寿阳县| 大名县| 泾川县| 巨鹿县| 南充市| 盐津县| 台州市| 定远县| 民县| 婺源县| 沅江市| 晋城| 古交市| 金溪县| 昔阳县| 四平市| 什邡市| 中西区| 泾源县| 温州市| 绩溪县| 尖扎县| 华容县| 万荣县| 瑞昌市| 增城市| 福海县| 新蔡县| 通道| 武鸣县| 海兴县| 黑龙江省| 呼伦贝尔市| 滦南县| 弥渡县| 彭泽县| 安陆市| 澎湖县| 瑞丽市| 会宁县| 凤山市|