Godot C#簡單使用sLua進行交互
1、在visual studio中創(chuàng)建一個項目,.net framework的控制臺程序或者winform程序都可以(visual studio2019默認程序是64位),進入項目后點擊工具->Nuget包管理器->管理解決方案的Nuget程序包

2、在Nuget包管理界面,點擊瀏覽->輸入"slua"->選擇slua standalone,在右邊勾選剛才創(chuàng)建的項目名稱,點擊安裝

3、安裝完成后,可以看到項目內(nèi)多出了一個lib文件夾,作者在其下分別維護了64位版本和32位版本,visual studio2019默認程序是64位

4、點擊生成->生成解決方案,項目將進行編譯

5、編譯完成的項目在\bin\Debug文件夾下(忽略exe名字,那是我在創(chuàng)建項目的時候填錯了),文件夾下有slua.dll和slua-standalone.dll,這里的slua.dll版本與項目的版本一致,默認64位,更改導(dǎo)出平臺為x86可變?yōu)?2位

6、創(chuàng)建godot項目,在項目下的\.mono\temp\bin\Debug將slua.dll和slua-standalone.dll復(fù)制到這里
如果godot引擎是32位,slua.dll也應(yīng)是32位
如果godot引擎是64位,slua.dll也應(yīng)是64位

7、在godot項目中布置UI用于測試,添加一個腳本,點擊MSbuild->build->build solution,此時項目根目錄應(yīng)有.sln文件和.csproj文件

8、在項目根目錄找到并打開.csproj文件,添加

9、其中的PackageReference是來自C#官方Nuget的鏈接

10、在vs code下面的終端中輸入
回車執(zhí)行,vscode將自動修復(fù)項目對slua的引用
如果在visual studio中直接安裝nuget包的話,將缺失slua-standalone.dll,需要手動補充

11、引用slua,不報錯說明已經(jīng)可以正常使用slua了
slua standalone與slua unity不一樣,因為缺乏自動導(dǎo)出接口,所以不能像slua unity那樣使用import "UnityEngine"的方法來使用import "Godot",會報錯
算是個缺點吧
簡單的代碼,用于C#與lua交互

12、lua部分,寫了一個函數(shù)給C#調(diào)用

13、C#通過slua運行l(wèi)ua文件并調(diào)用lua中的函數(shù),lua的函數(shù)返回字符串給C#,最后C#將返回的字符串賦值給Godot的Label
