如何为游戏编译C#脚本
我用C#制作了一个简单的游戏引擎(在VB 2008中,主要是为我自己)。有一个主要的应用程序可以处理图形和其他东西,而实际游戏中的大部分数据都将保存在一个dll中,该dll由我提供给游戏设计者的工具生成 我听说过很多关于C#非常适合编写脚本的说法(看起来它比任何其他方式都更适合我的需要),但我真的找不到确切的答案。我遇到了这个问题: 显然,我不想给出main exe的源代码,但它将包含脚本编写所需的所有主要方法(因为它们作用于main exe) 当dll没有定义它将在父exe中调用的方法时,如何生成dll?主exe将dll作为使用它的依赖项。这意味着dll不能依赖于会导致循环的exe 我可以创建另一个dll,exe和库都可以使用,但是其中的方法无法直接作用于使用它的主exe 我提出的唯一合乎逻辑的解决方案是:如何为游戏编译C#脚本,c#,dll,scripting,C#,Dll,Scripting,我用C#制作了一个简单的游戏引擎(在VB 2008中,主要是为我自己)。有一个主要的应用程序可以处理图形和其他东西,而实际游戏中的大部分数据都将保存在一个dll中,该dll由我提供给游戏设计者的工具生成 我听说过很多关于C#非常适合编写脚本的说法(看起来它比任何其他方式都更适合我的需要),但我真的找不到确切的答案。我遇到了这个问题: 显然,我不想给出main exe的源代码,但它将包含脚本编写所需的所有主要方法(因为它们作用于main exe) 当dll没有定义它将在父exe中调用的方法时,如何
- 一个包含我需要的类的基本结构的dll
- 包含游戏数据的dll。这将有一个从dll a继承的类
- Exe依赖于A和B。它将重写B中的A方法,使其以应有的方式运行
在你看来,我应该怎么做呢?有什么我忽略了的吗?我不知道你从哪里听说C#是脚本编写的“伟大”工具。Rosyln半生不熟的尝试并不是真正的“脚本” 为什么不试试那些DLR语言中的一种——比如IronPython和IronRuby
此外,还有针对.NET的Lua绑定。。现在大多数游戏开发人员都使用Lua编写脚本。因此,如果你打算保持游戏引擎的封闭源代码,modder社区肯定会喜欢你的游戏引擎。听起来你把DLL的可扩展性和脚本的可扩展性混为一谈 让我们首先采用dll方法 实现这一点的标准方法与您概述的非常接近:
interfaces.dll
接口.dll
接口.dll
interfaces.dll
中实现所需接口的类,并根据需要调用这些方法对于脚本编写,您通常需要使用脚本语言—powershell在.Net中很流行,而且脚本编写中也有您指的是C#的插件体系结构吗?或者类似“我听说过很多关于C语言非常适合编写脚本”之类的话???Powershell非常适合编写脚本。C#是一种编译语言。还有一个Microsoft脚本主机。这个问题问得很好,但我相信它会更合适,并在programmers.stackexchange上得到更好的响应。com@Dan-o这个问题确实属于这里。起初我尝试过Lua,但是为它创建.NET库的人没有任何问题文档编制和按我想要的方式设置都是一团糟。这就是我产生C#scripting想法的地方:但我认为接口方法可能会工作得最好。出于某种原因,我只是痴迷于将所有内容都放在一个额外的dll中的想法。