我有一个用C#编写的小游戏.它使用数据库作为后端.这是一个交易卡游戏,我想将卡的功能实现为脚本.
我的意思是我基本上有一个接口,ICard卡类实现(public class Card056: ICard)并包含游戏调用的函数.
现在,为了使事物可维护/可修改,我想让每张卡的类作为数据库中的源代码,并在第一次使用时实际编译它.因此,当我必须添加/更换卡时,我只需将其添加到数据库并告诉我的应用程序刷新,而无需任何组件部署(特别是因为我们将讨论每个卡的1个组件,这意味着数百个组件) .
那可能吗?从源文件注册一个类,然后实例化它,等等.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Run Code Online (Sandbox Code Playgroud)
如果可以用任何.NET语言编写脚本,那么语言就是C#但是额外的奖励.
如果某些变量有一些值,我需要提取一些记录.
例如,如果status> 0,我需要过滤结果,如:
where object.id=status
Run Code Online (Sandbox Code Playgroud)
否则,如果status = 0,我需要删除where where子句并返回所有元素.我会摆脱:
if(status>0)
do a linq query with the where clauses
else
do a link query with that where clauses
Run Code Online (Sandbox Code Playgroud)
代码太多,因为要检查的变量可能超过4-5.
是否有可能在LINQ上"注入"一种字符串?(所以我可以创建我的字符串并将其传递给LINQ).
我的意思是:
string myQuery="";
if(status>0)
myQuery="where object.id=status";
else
myQuery="";
Run Code Online (Sandbox Code Playgroud)
可能吗?(经典的mysql行为).