前言
以前專案訪問權限是,客戶端開發可以查看前端的所有內容,包括C#腳本,lua代碼等,
現在專案組調整,C#代碼權限僅主程可見,取而代之的是一個被編譯成dll型別的檔案,
現在終于有空,來研究下C#腳本是如何編譯成dll檔案并呼叫C#中的類,方法等,
準備
首先創建一個DllTest場景,

創建一個將被編譯成dll的C#腳本,命名為TestLog,并增加一個方法列印輸出,用于判斷在呼叫該方法是否成功,成功將會在控制臺輸出“呼叫TestLog成功”,

創建Text腳本,來測驗呼叫dll是否成功,
為相機掛載Text腳本

編譯dll
準備作業完成了,接下來編譯dll檔案,


點擊后生成一個.asmdef檔案,改成自己想取的名字,這里改為TestLog,這時在如下目錄會生成dll檔案,

將該檔案剪切到Plugins下,

洗掉編譯成dll的C#腳本,準備測驗,
測驗
運行工程發現:Main Camera物件自動掛載了TestLog腳本;成功呼叫了TestLog腳本的ShirlLog,進行了輸出“呼叫TestLog成功”,

那是因為Test腳本中,我提供兩個測驗:
第一個是測驗掛載dll中C#腳本到游戲物體上:
private TestLog t;
t = GameObject.Find("Main Camera").GetComponent<TestLog>();
if(t == null)
{
t = GameObject.Find("Main Camera").AddComponent<TestLog>();
}
第二個測驗是測驗呼叫編譯成dll的類中的方法,是否成功
private TestLog t;
TestLog l = new TestLog();
l.ShirlLog();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297223.html
標籤:其他
