如何将字符串转换为表达式?使用文本文件中的字符串作为不同游戏变量的公式

How to convert string to Expression ? Using string in text file as formulas for different game variables

我在 C# 中使用 Unity。创建资源管理游戏。

我需要一个索引系统。 IE。食品幸福指数,食品品种指数。

每个指数都有不同的公式。

我不想对每个索引进行硬编码。

我正在寻找允许我将公式作为字符串存储在 JSON 中的解析解决方案。并在 运行 时间内计算这些公式。

foodhapiness = (resourceDic["food"].Production/esourceDic["food"].Consumption) * foodVariety;
foodVariety = resourceDic["fish"].count/resourceDic["meat"].count;

此外,我也在考虑让用户添加自己的索引。 - 使用公式创建文本文件(json),游戏应加载文本文件并进行评估。就像 mod.

我尝试使用几个 Expression Evaluator 解决方案,这些解决方案本来可以解决问题,但它们似乎无法与 Unity 一起使用。

在 Javascript 中,有一个 Eval() 函数。但有人指出这是有风险的,因为这允许用户 运行 任何功能我也需要 C# 解决方案。

感觉我的思路不对。对于这样的事情,有人有更好的解决方案吗?

使用了 NLua。有效。

https://github.com/Mervill/Unity3D-NLua

-执行存储在字符串中的 Lua 脚本以访问 C# 属性

不知道性能如何。

如果有人 google 和...关键字恰好匹配主题名称,则将其保留在这里,这不太可能..无论如何。