rimworld的mod制作——角色隨機中文名

這篇教程是個拼湊怪。絕大多用的是他人的作品。我只是把他們的內(nèi)容拼一起。
首先我說一下我想要實現(xiàn)的功能:我打算在創(chuàng)建角色的時候,可以隨機出中國人名。
然后我參照了其他幾位大牛的mod。一位是kapa的《角色名字漢化補全PawnNameZH》
他的思路是把所有顯示的英文名稱,通過自定義的字典翻譯成了中文。雖然文字內(nèi)容都是中文了,但可惜并不能給角色隨機取中文名。
另一位是wsh的《中文人物名字》。他是通過修改PawnBioAndNameGenerator,用自己起名規(guī)則修改了原版的起名規(guī)則。但他也有一個問題,替換后,游戲中永遠(yuǎn)只會出現(xiàn)中文人名了,外國人名都不出現(xiàn)。也不太符合我的要求。
最后看的是EdB的《EdB Prepare Carefully》也就是著名的精心準(zhǔn)備mod。他對角色改進(jìn)的功能太全太強了。我只要他能隨機姓名的那部分功能。


精心準(zhǔn)備mod界面

我的方法就是用wsh的起名法替換EdB隨機名字功能。
先找到了EdB的隨機名字代碼位置。在ControllerPawns.CS文件中。如以下代碼:
我注釋掉的就是EdB的原方法。修改成wsh的方法。
我先介紹以下wsh代碼的思路。
首先他用幾個txt文件,分別存放了中國的姓氏,男人名,女人名,昵稱等信息。
然后啟動mod時讀取所有txt文件內(nèi)容。再通過自定義的GenChineseName(Pawn pawn)大致實現(xiàn)如下功能:
先用一定的隨機方法,取得姓氏,然后按性別分別獲得男名或女名。最后把姓名拼一起作為昵稱。
主要代碼如下:
拼湊后就實現(xiàn)我要的功能啦!
用的都是別人的東西,很是羞愧。如果大家真有和我一樣需求的話,請告訴我,我再考慮自己寫個完整的,最后公布全部代碼與內(nèi)容。
