void offmeshlinkdata_to_luaval(lua_State* L,const cocos2d::OffMeshLinkData& inValue) { if (nullptr == L) return; lua_newtable(L); lua_pushstring(L, "startPosition"); vec3_to_luaval(L, inValue.startPosition); lua_rawset(L, -3); lua_pushstring(L, "endPosition"); vec3_to_luaval(L, inValue.endPosition); lua_rawset(L, -3); }
void CollisionPoint_to_luaval(lua_State* L,const cocos2d::Physics3DCollisionInfo::CollisionPoint& collisionPoint) { if (nullptr == L) return; lua_newtable(L); lua_pushstring(L, "localPositionOnA"); vec3_to_luaval(L, collisionPoint.localPositionOnA); lua_rawset(L, -3); lua_pushstring(L, "worldPositionOnA"); vec3_to_luaval(L, collisionPoint.worldPositionOnA); lua_rawset(L, -3); lua_pushstring(L, "localPositionOnB"); vec3_to_luaval(L, collisionPoint.localPositionOnB); lua_rawset(L, -3); lua_pushstring(L, "worldPositionOnB"); vec3_to_luaval(L, collisionPoint.worldPositionOnB); lua_rawset(L, -3); lua_pushstring(L, "worldNormalOnB"); vec3_to_luaval(L, collisionPoint.worldNormalOnB); lua_rawset(L, -3); }
void Physics3DWorld_HitResult_to_luaval(lua_State* L, const cocos2d::Physics3DWorld::HitResult& hitResult) { if (nullptr == L) return; lua_newtable(L); lua_pushstring(L, "hitPosition"); vec3_to_luaval(L, hitResult.hitPosition); lua_rawset(L, -3); lua_pushstring(L, "hitNormal"); vec3_to_luaval(L, hitResult.hitNormal); lua_rawset(L, -3); lua_pushstring(L, "hitObj"); if (nullptr == hitResult.hitObj) { lua_pushnil(L); } else { object_to_luaval<cocos2d::Physics3DObject>(L, "cc.Physics3DObject",hitResult.hitObj); } lua_rawset(L, -3); }