五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

rimworld的mod制作——反編譯與瘟疫槍

2023-05-20 14:47 作者:PLucker518  | 我要投稿

今天原本想講一下反編譯的。但是看到了wiki上瘟疫槍的教程,他寫(xiě)的很詳細(xì)和全面,我打算簡(jiǎn)單介紹一下他的內(nèi)容,水一篇。

github網(wǎng)址我貼不上來(lái)。大家可以在github上搜索PlagueGun。會(huì)有好多個(gè)版本。。。我也不知道哪個(gè)是正版。。。wiki上說(shuō)是名叫Jecrell編寫(xiě)的,鏈接給的是dninemfive。

dninemfive/PlagueGun: The completed mod from the tutorial (github.com)


瘟疫槍作者打算在游戲中添加一把槍?zhuān)δ苁沁@把槍射出的子彈,有概率會(huì)給目標(biāo)添加一個(gè)“瘟疫”debuff。


about目錄與def目錄的內(nèi)容我就不重復(fù)了。之前我都介紹過(guò)該怎么寫(xiě)了。有興趣大家可以自己去作者github下載。

重點(diǎn)說(shuō)一下CS,我注釋了他的代碼。代碼還是很簡(jiǎn)單的。

編譯時(shí)注意要添加對(duì)Assembly-CSharp.dll、UnityEngine.dll和UnityEngine.CoreModule.dll的引用。注意引用不要選復(fù)制本地。


下面介紹一下反編譯工具。我用的是dnSpy。

先用編輯器打開(kāi)Assembly-CSharp.dll。然后就看到了左方紅框中的內(nèi)容。然后看下方紅箭頭的地方搜索你想要的內(nèi)容,比如我這里就查找Bullet這個(gè)原始代碼類(lèi)。想看一下它干了什么。

搜索到后,在上方代碼就顯示出了impact類(lèi)。就是作者繼承改寫(xiě)的類(lèi)。

這段代碼實(shí)現(xiàn)了在 RimWorld 游戲中,彈藥撞擊一個(gè)目標(biāo)時(shí)的具體邏輯與效果。

首先,保存當(dāng)前所在地圖和位置信息。接下來(lái),調(diào)用基類(lèi)(base)的 Impact 方法,處理當(dāng)前物體與目標(biāo)之間的撞擊情況,并記錄戰(zhàn)斗日志(battleLogEntry_RangedImpact)。然后,調(diào)用 NotifyImpact 來(lái)通知游戲系統(tǒng)有一個(gè)物體發(fā)生了撞擊。

如果當(dāng)前物體撞擊到了一個(gè)有效的目標(biāo)(即非 null),則構(gòu)造傷害信息 dinfo,并將傷害應(yīng)用于目標(biāo) hitThing,在戰(zhàn)斗日志中記錄該次傷害(AssociateWithLog)。如果目標(biāo)是角色(pawn2),通知其進(jìn)入受挫狀態(tài)(stagger)。特別地,如果當(dāng)前物體存在額外傷害(extraDamages),則遍歷每個(gè)額外傷害形成的 DamageInfo 并隨機(jī)使用其中的一部分應(yīng)用于目標(biāo) hitThing。

最后,如果目標(biāo) hitThing 是角色并且滿(mǎn)足觸發(fā)條件(bulletChanceToStartFire),則可能引起角色著火。否則,如果當(dāng)前物體未被護(hù)盾攔截,則根據(jù)撞擊地面的位置、所在地圖等信息確定造成撞擊的效果和聲音,同時(shí)也可能引發(fā)地面著火。

……

……

無(wú)聊且痛苦的內(nèi)容。



rimworld的mod制作——反編譯與瘟疫槍的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
修水县| 永康市| 香河县| 南京市| 十堰市| 富源县| 来凤县| 斗六市| 蒙山县| 弥勒县| 区。| 温州市| 增城市| 和静县| 河东区| 通河县| 韶山市| 通海县| 凤冈县| 中西区| 墨脱县| 客服| 微山县| 霍山县| 鱼台县| 永康市| 郸城县| 墨脱县| 南木林县| 张家界市| 琼海市| 建平县| 林西县| 佛山市| 天柱县| 吴忠市| 田东县| 云和县| 彰武县| 高碑店市| 拜城县|