我目前正在为我的游戏构建一个简单的“关卡”系统,其中游戏对象由组件组成,该组件中的数据存储在JSON中。假设我有以下结构:
struct SpriteComponent
{
int textureID;
std::string resource;
};
struct TransformComponent
{
Vector3 position;
Vector3 rotation;
Vector3 scale;
};
Vector3所在的位置
struct Vector3
{
float x;
float y;
float z;
};
我需要使用JSON定义我的Gameobject,以便可以在运行时将它们加载到游戏中。我的问题是我是否必须为C ++中每个不同的用户定义类型编写一个解析代码?
我有使用Unity3D的经验,它带有一个Nifty JSONUtility,可以自动映射到正确的字段(如果我没记错的话,可以使用Reflection)。有没有使用C ++做到这一点的库?我碰到了this Parser,如果我没记错的话,它几乎仅限于使用它们各自的键来逐一访问每个元素。
答案 0 :(得分:2)
通常有人已经做过您需要做的事情:-)
对于C ++,我喜欢nlohmann's JSON header library,到目前为止,它已被证明是无价的。
答案 1 :(得分:1)
似乎Unity是通过反射来实现的,而反射目前还不是C ++的一部分。感谢Library的指导,我找到了toπάντα ῥεῖ!