对于我正在做的一个项目,我们有大约 2k 个定义用于识别游戏中的不同项目,它看起来像这样:
#define ITEMID_WEAPON_SWORD_PEARL 41
#define ITEMID_WEAPON_SWORD_CYCLONE 42
#define ITEMID_WEAPON_SWORD_INVADERS 43
#define ITEMID_WEAPON_SWORD_SWITCH 44
#define ITEMID_WEAPON_SWORD_MULTIBLADE 45
#define ITEMID_WEAPON_SWORD_KATANA 46
等等等等。请注意,这不是自愿的,它是由以前的开发人员设置的系统,在这一点上需要付出太多努力才能实现。
我被要求基本上制作一个制作系统,并且希望我可以让它变得干净和有条理,我想使用 Lua。我的计划基本上是做以下事情:
Cooking =
{
["Sandvich"] =
{
{ --In
{ITEMID_COOKING_BREAD, 2, -1},
{ITEMID_COOKING_MEAT, 1, -1},
{ITEMID_COOKING_TOMATO, 1, -1},
},
{ --Out
{ITEMID_COOKING_SANDVICH, 1}
}
}
}
不过,我能看到的唯一问题是,据我所知,Lua 无法原生读取 C/C++ #defines。(也许可以?那很好。)
我想知道是否有任何库或模块或我可以用来阅读这些定义的东西,或者我是否应该使用另一种方法而不是 Lua?诚然,我对它相对不熟练,但如果有一个起点,我应该能够毫不费力地启动并运行一些东西。