int lua_cocos2dx_physics3d_Physics3DWorld_rayCast(lua_State* L) { int argc = 0; cocos2d::Physics3DWorld* cobj = nullptr; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertype(L,1,"cc.Physics3DWorld",0,&tolua_err)) goto tolua_lerror; #endif cobj = (cocos2d::Physics3DWorld*)tolua_tousertype(L,1,0); #if COCOS2D_DEBUG >= 1 if (!cobj) { tolua_error(L,"invalid 'cobj' in function 'lua_cocos2dx_physics3d_Physics3DWorld_rayCast'", nullptr); return 0; } #endif argc = lua_gettop(L)-1; if (argc == 3) { cocos2d::Vec3 arg0; cocos2d::Vec3 arg1; cocos2d::Physics3DWorld::HitResult arg2; ok &= luaval_to_vec3(L, 2, &arg0, "cc.Physics3DWorld:rayCast"); ok &= luaval_to_vec3(L, 3, &arg1, "cc.Physics3DWorld:rayCast"); ok &= luaval_to_Physics3DWorld_HitResult(L, 4, &arg2, "cc.Physics3DWorld:rayCast"); if(!ok) { tolua_error(L,"invalid arguments in function 'lua_cocos2dx_physics3d_Physics3DWorld_rayCast'", nullptr); return 0; } bool ret = cobj->rayCast(arg0, arg1, &arg2); tolua_pushboolean(L,(bool)ret); Physics3DWorld_HitResult_to_luaval(L, arg2); return 2; } luaL_error(L, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.Physics3DWorld:rayCast",argc, 3); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'lua_cocos2dx_physics3d_Physics3DWorld_rayCast'.",&tolua_err); #endif return 0; }
bool luaval_to_Physics3DWorld_HitResult(lua_State* L,int lo, cocos2d::Physics3DWorld::HitResult* outValue, const char* funcName) { if (nullptr == L || nullptr == outValue) return false; bool ok = true; tolua_Error tolua_err; if (!tolua_istable(L, lo, 0, &tolua_err) ) { #if COCOS2D_DEBUG >=1 luaval_to_native_err(L,"#ferror:",&tolua_err,funcName); #endif ok = false; } if (ok) { lua_pushstring(L, "hitPosition"); lua_gettable(L, lo); if (!lua_istable(L, -1)) { outValue->hitPosition = cocos2d::Vec3(); } else { luaval_to_vec3(L, lua_gettop(L), &(outValue->hitPosition)); } lua_pop(L, 1); lua_pushstring(L, "hitNormal"); lua_gettable(L, lo); if (!lua_istable(L, -1)) { outValue->hitNormal = cocos2d::Vec3(); } else { luaval_to_vec3(L, lua_gettop(L), &(outValue->hitNormal)); } lua_pop(L, 1); lua_pushstring(L, "hitObj"); lua_gettable(L, lo); if (!tolua_isusertype(L, -1, "cc.Physics3DObject", 0, &tolua_err)) { outValue->hitObj = nullptr; } else { outValue->hitObj = static_cast<cocos2d::Physics3DObject*>(tolua_tousertype(L, lua_gettop(L), nullptr)); } lua_pop(L, 1); } return true; }
int lua_cocos2dx_DrawNode3D_drawLine(lua_State* L) { int argc = 0; cocos2d::DrawNode3D* cobj = nullptr; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertype(L,1,"cc.DrawNode3D",0,&tolua_err)) goto tolua_lerror; #endif cobj = (cocos2d::DrawNode3D*)tolua_tousertype(L,1,0); #if COCOS2D_DEBUG >= 1 if (!cobj) { tolua_error(L,"invalid 'cobj' in function 'lua_cocos2dx_DrawNode3D_drawLine'", nullptr); return 0; } #endif argc = lua_gettop(L)-1; if (argc == 3) { cocos2d::Vec3 arg0; cocos2d::Vec3 arg1; cocos2d::Color4F arg2; ok &= luaval_to_vec3(L, 2, &arg0, "cc.DrawNode3D:drawLine"); ok &= luaval_to_vec3(L, 3, &arg1, "cc.DrawNode3D:drawLine"); ok &=luaval_to_color4f(L, 4, &arg2, "cc.DrawNode3D:drawLine"); if(!ok) return 0; cobj->drawLine(arg0, arg1, arg2); return 0; } CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.DrawNode3D:drawLine",argc, 3); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'lua_cocos2dx_DrawNode3D_drawLine'.",&tolua_err); #endif return 0; }
bool luaval_to_offmeshlinkdata(lua_State* L, int lo, cocos2d::OffMeshLinkData* outValue , const char* funcName) { if (nullptr == L || nullptr == outValue) return false; bool ok = true; tolua_Error tolua_err; if (!tolua_istable(L, lo, 0, &tolua_err) ) { #if COCOS2D_DEBUG >=1 luaval_to_native_err(L,"#ferror:",&tolua_err,funcName); #endif ok = false; } if (ok) { lua_pushstring(L, "startPosition"); lua_gettable(L,lo); ok &= luaval_to_vec3(L, lua_gettop(L), &outValue->startPosition); if(!ok) { lua_pop(L, 1); return false; } lua_pop(L,1); lua_pushstring(L, "endPosition"); ok &= luaval_to_vec3(L, lua_gettop(L), &outValue->endPosition); if(!ok) { lua_pop(L, 1); return false; } lua_pop(L,1); return true; } return false; }
int lua_cocos2dx_DrawNode3D_drawCube(lua_State* L) { int argc = 0; cocos2d::DrawNode3D* cobj = nullptr; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertype(L,1,"cc.DrawNode3D",0,&tolua_err)) goto tolua_lerror; #endif cobj = (cocos2d::DrawNode3D*)tolua_tousertype(L,1,0); #if COCOS2D_DEBUG >= 1 if (!cobj) { tolua_error(L,"invalid 'cobj' in function 'lua_cocos2dx_DrawNode3D_drawCube'", nullptr); return 0; } #endif argc = lua_gettop(L)-1; if (argc == 2) { std::vector<cocos2d::Vec3> arg0; cocos2d::Color4F arg1; Vec3 vec3; #if COCOS2D_DEBUG >= 1 if (!tolua_istable(L, 2, 0, &tolua_err)) goto tolua_lerror; #endif size_t size = lua_objlen(L, 2); for (int i = 0; i < size; i++) { lua_pushnumber(L, i + 1); lua_gettable(L, 2); #if COCOS2D_DEBUG >= 1 if (!tolua_istable(L, -1, 0, &tolua_err)) { lua_pop(L, 1); goto tolua_lerror; } #endif ok &= luaval_to_vec3(L, lua_gettop(L), &vec3); #if COCOS2D_DEBUG >= 1 if (!ok) { lua_pop(L, 1); goto tolua_lerror; } #endif //arg0[i] = vec3; arg0.push_back(vec3); lua_pop(L, 1); } ok &=luaval_to_color4f(L, 3, &arg1, "cc.DrawNode3D:drawCube"); if(!ok) return 0; cobj->drawCube(&arg0[0], arg1); return 0; } CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.DrawNode3D:drawCube",argc, 2); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'lua_cocos2dx_DrawNode3D_drawCube'.",&tolua_err); #endif return 0; }
bool luaval_to_Physics3DRigidBodyDes(lua_State* L,int lo,cocos2d::Physics3DRigidBodyDes* outValue, const char* funcName) { if (nullptr == L || nullptr == outValue) return false; bool ok = true; tolua_Error tolua_err; if (!tolua_istable(L, lo, 0, &tolua_err) ) { #if COCOS2D_DEBUG >=1 luaval_to_native_err(L,"#ferror:",&tolua_err,funcName); #endif ok = false; } if (ok) { lua_pushstring(L, "mass"); lua_gettable(L, lo); outValue->mass = lua_isnil(L, -1) ? 0 : lua_tonumber(L, -1); lua_pop(L, 1); lua_pushstring(L, "localInertia"); lua_gettable(L, lo); if (!lua_istable(L, -1)) { outValue->localInertia = cocos2d::Vec3(0.0, 0.0, 0.0); } else { luaval_to_vec3(L, lua_gettop(L), &outValue->localInertia); } lua_pop(L, 1); lua_pushstring(L, "shape"); lua_gettable(L, lo); if (!tolua_isusertype(L, -1, "cc.Physics3DShape", 0, &tolua_err)) { outValue->shape = nullptr; } else { outValue->shape = static_cast<cocos2d::Physics3DShape*>(tolua_tousertype(L, lua_gettop(L), nullptr)); } lua_pop(L, 1); lua_pushstring(L, "originalTransform"); lua_gettable(L, lo); if (!lua_istable(L, -1)) { outValue->originalTransform = cocos2d::Mat4(); } else { luaval_to_mat4(L, lua_gettop(L), &outValue->originalTransform); } lua_pop(L, 1); lua_pushstring(L, "disableSleep"); lua_gettable(L, lo); outValue->disableSleep = lua_isnil(L, -1) ? false : lua_toboolean(L, -1); lua_pop(L, 1); } return ok; }
int lua_cocos2dx_physics3d_Physics3DComponent_create(lua_State* L) { int argc = 0; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertable(L,1,"cc.Physics3DComponent",0,&tolua_err)) goto tolua_lerror; #endif argc = lua_gettop(L)-1; do { if (argc == 1) { cocos2d::Physics3DObject* arg0; ok &= luaval_to_object<cocos2d::Physics3DObject>(L, 2, "cc.Physics3DObject",&arg0); if (!ok) { break; } cocos2d::Physics3DComponent* ret = cocos2d::Physics3DComponent::create(arg0); object_to_luaval<cocos2d::Physics3DComponent>(L, "cc.Physics3DComponent",(cocos2d::Physics3DComponent*)ret); return 1; } } while (0); ok = true; do { if (argc == 2) { cocos2d::Physics3DObject* arg0; ok &= luaval_to_object<cocos2d::Physics3DObject>(L, 2, "cc.Physics3DObject",&arg0); if (!ok) { break; } cocos2d::Vec3 arg1; ok &= luaval_to_vec3(L, 3, &arg1, "cc.Physics3DComponent:create"); if (!ok) { break; } cocos2d::Physics3DComponent* ret = cocos2d::Physics3DComponent::create(arg0, arg1); object_to_luaval<cocos2d::Physics3DComponent>(L, "cc.Physics3DComponent",(cocos2d::Physics3DComponent*)ret); return 1; } } while (0); ok = true; do { if (argc == 3) { cocos2d::Physics3DObject* arg0; ok &= luaval_to_object<cocos2d::Physics3DObject>(L, 2, "cc.Physics3DObject",&arg0); if (!ok) { break; } cocos2d::Vec3 arg1; ok &= luaval_to_vec3(L, 3, &arg1, "cc.Physics3DComponent:create"); if (!ok) { break; } cocos2d::Quaternion arg2; ok &= luaval_to_quaternion(L, 4, &arg2); if (!ok) { break; } cocos2d::Physics3DComponent* ret = cocos2d::Physics3DComponent::create(arg0, arg1, arg2); object_to_luaval<cocos2d::Physics3DComponent>(L, "cc.Physics3DComponent",(cocos2d::Physics3DComponent*)ret); return 1; } } while (0); ok = true; do { if (argc == 0) { cocos2d::Physics3DComponent* ret = cocos2d::Physics3DComponent::create(); object_to_luaval<cocos2d::Physics3DComponent>(L, "cc.Physics3DComponent",(cocos2d::Physics3DComponent*)ret); return 1; } } while (0); ok = true; luaL_error(L, "%s has wrong number of arguments: %d, was expecting %d", "cc.Physics3DComponent:create",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'lua_cocos2dx_physics3d_Physics3DComponent_create'.",&tolua_err); #endif return 0; }
int lua_cocos2dx_physics3d_PhysicsSprite3D_create(lua_State* L) { int argc = 0; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertable(L,1,"cc.PhysicsSprite3D",0,&tolua_err)) goto tolua_lerror; #endif argc = lua_gettop(L) - 1; if (argc == 2) { std::string arg0; cocos2d::Physics3DRigidBodyDes arg1; ok &= luaval_to_std_string(L, 2,&arg0, "cc.PhysicsSprite3D:create"); ok &= luaval_to_Physics3DRigidBodyDes(L, 3, &arg1, "cc.PhysicsSprite3D:create"); if(!ok) { tolua_error(L,"invalid arguments in function 'lua_cocos2dx_physics3d_PhysicsSprite3D_create'", nullptr); return 0; } cocos2d::PhysicsSprite3D* ret = cocos2d::PhysicsSprite3D::create(arg0, &arg1); object_to_luaval<cocos2d::PhysicsSprite3D>(L, "cc.PhysicsSprite3D",(cocos2d::PhysicsSprite3D*)ret); return 1; } if (argc == 3) { std::string arg0; cocos2d::Physics3DRigidBodyDes arg1; cocos2d::Vec3 arg2; ok &= luaval_to_std_string(L, 2,&arg0, "cc.PhysicsSprite3D:create"); ok &= luaval_to_Physics3DRigidBodyDes(L, 3, &arg1, "cc.PhysicsSprite3D:create"); ok &= luaval_to_vec3(L, 4, &arg2, "cc.PhysicsSprite3D:create"); if(!ok) { tolua_error(L,"invalid arguments in function 'lua_cocos2dx_physics3d_PhysicsSprite3D_create'", nullptr); return 0; } cocos2d::PhysicsSprite3D* ret = cocos2d::PhysicsSprite3D::create(arg0, &arg1, arg2); object_to_luaval<cocos2d::PhysicsSprite3D>(L, "cc.PhysicsSprite3D",(cocos2d::PhysicsSprite3D*)ret); return 1; } if (argc == 4) { std::string arg0; cocos2d::Physics3DRigidBodyDes arg1; cocos2d::Vec3 arg2; cocos2d::Quaternion arg3; ok &= luaval_to_std_string(L, 2,&arg0, "cc.PhysicsSprite3D:create"); ok &= luaval_to_Physics3DRigidBodyDes(L, 3, &arg1, "cc.PhysicsSprite3D:create"); ok &= luaval_to_vec3(L, 4, &arg2, "cc.PhysicsSprite3D:create"); ok &= luaval_to_quaternion(L, 5, &arg3); if(!ok) { tolua_error(L,"invalid arguments in function 'lua_cocos2dx_physics3d_PhysicsSprite3D_create'", nullptr); return 0; } cocos2d::PhysicsSprite3D* ret = cocos2d::PhysicsSprite3D::create(arg0, &arg1, arg2, arg3); object_to_luaval<cocos2d::PhysicsSprite3D>(L, "cc.PhysicsSprite3D",(cocos2d::PhysicsSprite3D*)ret); return 1; } luaL_error(L, "%s has wrong number of arguments: %d, was expecting %d\n ", "cc.PhysicsSprite3D:create",argc, 2); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'lua_cocos2dx_physics3d_PhysicsSprite3D_create'.",&tolua_err); #endif return 0; }
int lua_cocos2dx_navmesh_NavMeshAgent_move(lua_State* tolua_S) { int argc = 0; cocos2d::NavMeshAgent* cobj = nullptr; bool ok = true; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; #endif #if COCOS2D_DEBUG >= 1 if (!tolua_isusertype(tolua_S,1,"cc.NavMeshAgent",0,&tolua_err)) goto tolua_lerror; #endif cobj = (cocos2d::NavMeshAgent*)tolua_tousertype(tolua_S,1,0); #if COCOS2D_DEBUG >= 1 if (!cobj) { tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_navmesh_NavMeshAgent_move'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; if (argc == 1) { cocos2d::Vec3 arg0; ok &= luaval_to_vec3(tolua_S, 2, &arg0, "cc.NavMeshAgent:move"); if(!ok) { tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_navmesh_NavMeshAgent_move'", nullptr); return 0; } cobj->move(arg0); lua_settop(tolua_S, 1); return 1; } if (argc == 2) { cocos2d::Vec3 arg0; LUA_FUNCTION handler; ok &= luaval_to_vec3(tolua_S, 2, &arg0, "cc.NavMeshAgent:move"); #if COCOS2D_DEBUG >= 1 if (!toluafix_isfunction(tolua_S,3,"LUA_FUNCTION",0,&tolua_err)) { goto tolua_lerror; } #endif handler = toluafix_ref_function(tolua_S, 3, 0); if(!ok) { tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_navmesh_NavMeshAgent_move'", nullptr); return 0; } cobj->move(arg0, [=](cocos2d::NavMeshAgent *agent, float totalTimeAfterMove){ object_to_luaval<cocos2d::NavMeshAgent>(tolua_S, "cc.NavMeshAgent",(cocos2d::NavMeshAgent*)agent); tolua_pushnumber(tolua_S, (lua_Number)totalTimeAfterMove); LuaEngine::getInstance()->getLuaStack()->executeFunctionByHandler(handler, 2); }); ScriptHandlerMgr::getInstance()->addCustomHandler((void*)cobj, handler); lua_settop(tolua_S, 1); return 1; } luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.NavMeshAgent:move",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_navmesh_NavMeshAgent_move'.",&tolua_err); #endif return 0; }