当前位置: 首页>>代码示例>>C++>>正文


C++ InventoryLocation::setNodeMeta方法代码示例

本文整理汇总了C++中InventoryLocation::setNodeMeta方法的典型用法代码示例。如果您正苦于以下问题:C++ InventoryLocation::setNodeMeta方法的具体用法?C++ InventoryLocation::setNodeMeta怎么用?C++ InventoryLocation::setNodeMeta使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在InventoryLocation的用法示例。


在下文中一共展示了InventoryLocation::setNodeMeta方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: l_get_inventory

// get_inventory(location)
int ModApiInventory::l_get_inventory(lua_State *L)
{
	InventoryLocation loc;

	std::string type = checkstringfield(L, 1, "type");

	if(type == "node"){
		MAP_LOCK_REQUIRED;
		lua_getfield(L, 1, "pos");
		v3s16 pos = check_v3s16(L, -1);
		loc.setNodeMeta(pos);

		if(getServer(L)->getInventory(loc) != NULL)
			InvRef::create(L, loc);
		else
			lua_pushnil(L);
		return 1;
	} else {
		NO_MAP_LOCK_REQUIRED;
		if(type == "player"){
			std::string name = checkstringfield(L, 1, "name");
			loc.setPlayer(name);
		} else if(type == "detached"){
			std::string name = checkstringfield(L, 1, "name");
			loc.setDetached(name);
		}

		if(getServer(L)->getInventory(loc) != NULL)
			InvRef::create(L, loc);
		else
			lua_pushnil(L);
		return 1;
		// END NO_MAP_LOCK_REQUIRED;
	}
}
开发者ID:4Evergreen4,项目名称:minetest,代码行数:36,代码来源:l_inventory.cpp

示例2: createNodeMeta

void InvRef::createNodeMeta(lua_State *L, v3s16 p)
{
	InventoryLocation loc;
	loc.setNodeMeta(p);
	create(L, loc);
}
开发者ID:4Evergreen4,项目名称:minetest,代码行数:6,代码来源:l_inventory.cpp


注:本文中的InventoryLocation::setNodeMeta方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。