【发布时间】:2010-09-05 05:48:54
【问题描述】:
我有一个用 C# 编写的小游戏。它使用数据库作为后端。它是 trading card game,我想将卡片的功能实现为脚本。
我的意思是我基本上有一个接口ICard,它是一个卡片类实现的 (public class Card056: ICard),它包含一个由游戏调用的函数。
现在,为了使事物可维护/可修改,我希望将每张卡的类作为数据库中的源代码,并在首次使用时对其进行编译。因此,当我必须添加/更改卡片时,我只需将其添加到数据库并告诉我的应用程序刷新,而不需要任何程序集部署(特别是因为我们将讨论每张卡片 1 个程序集,这意味着数百个程序集) .
这可能吗?从源文件注册一个类,然后实例化它等等。
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
语言是 C#,但如果可以用任何 .NET 语言编写脚本,则额外奖励。
【问题讨论】:
-
很有趣,我和一个朋友前段时间想用 C# 写一个集换式卡牌游戏,你不觉得你还有源吗?想知道你是如何处理这个问题的。
-
@mattytommo 不,什么都没有,它处于非常早期的阶段,基本上就像我上面概述的那样工作。现在,我会研究 Roslyn 来进行 C# 编译:blogs.msdn.com/b/csharpfaq/archive/2011/10/19/… - 或者,使用 Jint 的 JavaScript - jint.codeplex.com
-
谢谢,但我更多的是寻找集换式卡牌游戏本身的实现和您使用的结构,而不是脚本引擎。无论如何谢谢:)
标签: c# .net scripting compiler-construction