我用C#製作一個簡單的遊戲引擎(在VB 2008中,主要是爲我自己)。有一個主要的應用程序可以完成圖形和內容,而實際上游戲中的大部分數據都將在一個dll中生成,這些工具可以提供給遊戲設計人員。我聽說過很多關於C#的腳本編寫偉大的東西(它看起來比它更適合我的需求比其他任何方式都好),但我無法真正找到它的完成方式的答案。我遇到了這個問題:如何編譯遊戲的C#腳本
我顯然不想給出我的主要exe文件的源代碼,但它將包含腳本所需的所有主要方法(因爲它們作用於主要的exe文件)。
當它沒有定義它將在父exe文件中調用的方法時,如何生成一個dll?主要的exe文件將使dll作爲依賴來使用它。這意味着該DLL不能依賴於會導致循環的exe文件。
我可以創建另一個exe文件和庫都使用的dll,但那裏的方法將無法直接使用它的主exe文件。
我想出的唯一合理的解決方案是這樣的:
- 與我需要的類的梗概的DLL。
- 一個包含遊戲數據的dll。這將有一個繼承自dll的類。
- Exe依賴於A和B.它將覆蓋B中的A方法以表現它應該的方式。
雖然這看起來不太優雅。
在我的研究中(MAF,MEF,Roslyn等),我已經看到了很多單詞,但我太累了,無法進一步閱讀。我一個人花了好幾個小時。
在你看來,我應該如何去做這件事?有我忽略的東西嗎?
使用腳本你的意思是插件的C#架構? [插件教程](http://www.codeproject.com/Articles/6334/Plug-ins-in-C)或類似[用c#編寫lua腳本](http://www.gamedev.net/page/resources/_/technical/game-programming/using-lua-with-c-r2275) – 2013-03-17 04:18:54
「我聽說過很多關於C#非常適合腳本編寫的問題」。 Powershell非常適合腳本編寫。 C#是一種編譯語言。 – 2013-03-17 04:18:56
還有微軟腳本主機 – 2013-03-17 04:22:48