这篇教程C++ tolua_tousertype函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中tolua_tousertype函数的典型用法代码示例。如果您正苦于以下问题:C++ tolua_tousertype函数的具体用法?C++ tolua_tousertype怎么用?C++ tolua_tousertype使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了tolua_tousertype函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: tolua_building_get_sizestatic int tolua_building_get_size(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushnumber(L, self->size); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例2: tolua_building_get_regionstatic int tolua_building_get_region(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushusertype(L, building_getregion(self), TOLUA_CAST "region"); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例3: tolua_building_set_regionstatic int tolua_building_set_region(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); building_setregion(self, (region *) tolua_tousertype(L, 2, 0)); return 0;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例4: tolua_building_destroystatic int tolua_building_destroy(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); remove_building(&self->region->buildings, self); return 0;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例5: tolua_building_get_objectsstatic int tolua_building_get_objects(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushusertype(L, (void *)&self->attribs, TOLUA_CAST "hashtable"); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例6: tolua_building_get_typestatic int tolua_building_get_type(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushstring(L, self->type->_name); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例7: tolua_building_get_idstatic int tolua_building_get_id(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushnumber(L, (lua_Number) self->no); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例8: tolua_building_set_sizestatic int tolua_building_set_size(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); self->size = (int)tolua_tonumber(L, 2, 0); return 0;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例9: tolua_building_get_infostatic int tolua_building_get_info(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); tolua_pushstring(L, self->display); return 1;}
开发者ID:hochl,项目名称:server,代码行数:6,
示例10: tolua_default_collect/* Default collect function*/TOLUA_API int tolua_default_collect (lua_State* tolua_S){ void* self = tolua_tousertype(tolua_S,1,0); free(self); return 0;}
开发者ID:joewan,项目名称:cocos2d-x,代码行数:8,
示例11: tolua_cocos2dx_EventListenerPhysicsContact_registerScriptHandlerstatic int tolua_cocos2dx_EventListenerPhysicsContact_registerScriptHandler(lua_State* tolua_S){ if (nullptr == tolua_S) return 0; int argc = 0; EventListenerPhysicsContact* self = nullptr;#if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; if (!tolua_isusertype(tolua_S, 1, "cc.EventListenerPhysicsContact", 0, &tolua_err)) goto tolua_lerror;#endif self = static_cast<EventListenerPhysicsContact*>(tolua_tousertype(tolua_S,1,0));#if COCOS2D_DEBUG >= 1 if (nullptr == self) { tolua_error(tolua_S,"invalid 'self' in function 'tolua_cocos2dx_EventListenerPhysicsContact_registerScriptHandler'/n", nullptr); return 0; }#endif argc = lua_gettop(tolua_S) - 1; if (argc == 2) {#if COCOS2D_DEBUG >= 1 if (!toluafix_isfunction(tolua_S,2,"LUA_FUNCTION",0,&tolua_err) || !tolua_isnumber(tolua_S, 3, 0, &tolua_err)) { goto tolua_lerror; }#endif LUA_FUNCTION handler = toluafix_ref_function(tolua_S,2,0); ScriptHandlerMgr::HandlerType type = static_cast<ScriptHandlerMgr::HandlerType>((int)tolua_tonumber(tolua_S, 3, 0)); switch (type) { case ScriptHandlerMgr::HandlerType::EVENT_PHYSICS_CONTACT_BEGIN: { ScriptHandlerMgr::getInstance()->addObjectHandler((void*)self, handler, type); self->onContactBegin = [handler](PhysicsContact& contact) -> bool{ LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->pushObject(&contact, "cc.PhysicsContact"); bool ret = stack->executeFunctionByHandler(handler, 1); stack->clean(); return ret; }; } break; case ScriptHandlerMgr::HandlerType::EVENT_PHYSICS_CONTACT_PRESOLVE: { ScriptHandlerMgr::getInstance()->addObjectHandler((void*)self, handler, type); self->onContactPreSolve = [handler](PhysicsContact& contact, PhysicsContactPreSolve& solve) -> bool{ LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->pushObject(&contact, "cc.PhysicsContact"); tolua_pushusertype(stack->getLuaState(), &solve, "cc.PhysicsContactPreSolve"); bool ret = stack->executeFunctionByHandler(handler, 2); stack->clean(); return ret; }; } break; case ScriptHandlerMgr::HandlerType::EVENT_PHYSICS_CONTACT_POSTSOLVE: { ScriptHandlerMgr::getInstance()->addObjectHandler((void*)self, handler, type); self->onContactPostSolve = [handler](PhysicsContact& contact, const PhysicsContactPostSolve& solve){ LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->pushObject(&contact, "cc.PhysicsContact"); tolua_pushusertype(stack->getLuaState(), const_cast<PhysicsContactPostSolve*>(&solve), "cc.PhysicsContactPostSolve"); stack->executeFunctionByHandler(handler, 2); stack->clean(); }; } break; case ScriptHandlerMgr::HandlerType::EVENT_PHYSICS_CONTACT_SEPERATE: { ScriptHandlerMgr::getInstance()->addObjectHandler((void*)self, handler, type); self->onContactSeperate = [handler](PhysicsContact& contact){ LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->pushObject(&contact, "cc.PhysicsContact"); stack->executeFunctionByHandler(handler, 1); stack->clean(); }; } break; default: break; } return 0; } CCLOG("'registerScriptHandler' has wrong number of arguments: %d, was expecting %d/n", argc, 2); return 0; #if COCOS2D_DEBUG >= 1tolua_lerror: tolua_error(tolua_S,"#ferror in function 'registerScriptHandler'.",&tolua_err);//.........这里部分代码省略.........
开发者ID:8823-scholar,项目名称:cocos-book,代码行数:101,
示例12: lua_cocos2dx_physics_PhysicsBody_getJointsint lua_cocos2dx_physics_PhysicsBody_getJoints(lua_State* tolua_S){ int argc = 0; cocos2d::PhysicsBody* 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.PhysicsBody",0,&tolua_err)) goto tolua_lerror;#endif cobj = (cocos2d::PhysicsBody*)tolua_tousertype(tolua_S,1,0); #if COCOS2D_DEBUG >= 1 if (!cobj) { tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsBody_getJoints'", NULL); return 0; }#endif argc = lua_gettop(tolua_S)-1; if (argc == 0) { do { if(!ok) return 0; auto& ret = cobj->getJoints(); lua_newtable(tolua_S); if (ret.empty()) return 1; auto iter = ret.begin(); int indexTable = 1; for (; iter != ret.end(); ++iter) { if (nullptr == *iter) continue; lua_pushnumber(tolua_S, (lua_Number)indexTable); tolua_pushusertype(tolua_S,(void*)(*iter), getLuaTypeName(*iter, "cc.PhysicsJoint")); lua_rawset(tolua_S, -3); ++indexTable; } } while (0); return 1; } CCLOG("%s has wrong number of arguments: %d, was expecting %d /n", "getJoints",argc, 0); return 0; #if COCOS2D_DEBUG >= 1tolua_lerror: tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsBody_getJoints'.",&tolua_err);#endif return 0;}
开发者ID:8823-scholar,项目名称:cocos-book,代码行数:63,
示例13: tolua_collect_Pointstatic int tolua_collect_Point (lua_State* tolua_S){ Point* self = (Point*) tolua_tousertype(tolua_S,1,0); delete self; return 0;}
开发者ID:ConnorShore,项目名称:Game,代码行数:6,
示例14: tolua_building_get_namestatic int tolua_building_get_name(lua_State * L){ building *self = (building *)tolua_tousertype(L, 1, 0); tolua_pushstring(L, building_getname(self)); return 1;}
开发者ID:CTD1,项目名称:eressea-server-bugfixing,代码行数:6,
示例15: tolua_building_set_namestatic int tolua_building_set_name(lua_State * L){ building *self = (building *) tolua_tousertype(L, 1, 0); building_setname(self, tolua_tostring(L, 2, 0)); return 0;}
开发者ID:hochl,项目名称:server,代码行数:6,
注:本文中的tolua_tousertype函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ toluafix_pushusertype_ccobject函数代码示例 C++ tolua_tostring函数代码示例 |