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


C++ KPlayer::IsEquiped方法代码示例

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


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

示例1: LuaGetSetAttrib

int KCustomEquipInfo::LuaGetSetAttrib(Lua_State* L)
{
	int         nResult         = 0;
	int         nSetEquipCount  = 0;
	int         nIndex          = 0;
	int         nEquipedNum     = 0;
    KSetInfo*   pSetInfo        = NULL;
    KPlayer*    pPlayer         = NULL;
    int         nTable          = 0;

	KG_PROCESS_ERROR(nSetID > 0);

	pSetInfo = g_pSO3World->m_ItemManager.m_ItemLib.GetSetInfo(nSetID);
	KGLOG_PROCESS_ERROR(pSetInfo);

	pPlayer = g_pSO3World->m_PlayerSet.GetObj(g_pSO3World->m_dwClientPlayerID);
	KGLOG_PROCESS_ERROR(pPlayer);

	Lua_PushNumber(L, pSetInfo->dwUiID);

	Lua_NewTable(L);

	nTable = Lua_GetTopIndex(L);

	for (int i = 0; i < MAX_SET_PART_NUM; ++i)
	{
		KCustomEquipInfo *pInfo = pSetInfo->pEquipList[i];
		if (pInfo)
		{
			++nSetEquipCount;
			Lua_PushNumber(L, nSetEquipCount);

			Lua_NewTable(L);
			int nAttrib = Lua_GetTopIndex(L);

			Lua_PushString(L, "nUiId");
			Lua_PushNumber(L, pInfo->nUiId);
			Lua_SetTable(L, nAttrib);

			Lua_PushString(L, "bEquiped");
			int nEquiped = pPlayer->IsEquiped(pInfo);
			if (nEquiped)
				++nEquipedNum;
			Lua_PushBoolean(L, nEquiped);
			Lua_SetTable(L, nAttrib);

			Lua_SetTable(L, nTable);
		}
	}

	Lua_PushNumber(L, nSetEquipCount);
	Lua_PushNumber(L, nEquipedNum);

	Lua_NewTable(L);
	nTable = Lua_GetTopIndex(L);
	nIndex = 0;

	for (int i = 1; i <= nSetEquipCount; ++i)
	{
		KAttribute Attribute;
		if (g_pSO3World->m_ItemManager.GetSetAttrib(Attribute, nUiId, i))
		{
			if (Attribute.nKey != atInvalid)
			{
				++nIndex;
				Lua_PushNumber(L, nIndex);

				Lua_NewTable(L);
				int nAttrib = Lua_GetTopIndex(L);

				Lua_PushString(L, "nID");
				Lua_PushNumber(L, Attribute.nKey);
				Lua_SetTable(L, nAttrib);

				Lua_PushString(L, "nCount");
				Lua_PushNumber(L, i);
				Lua_SetTable(L, nAttrib);

				Lua_PushString(L, "nValue1");
				Lua_PushNumber(L, Attribute.nValue1);
				Lua_SetTable(L, nAttrib);

				Lua_PushString(L, "nValue2");
				Lua_PushNumber(L, Attribute.nValue2);
				Lua_SetTable(L, nAttrib);

				Lua_PushString(L, "bEquiped");
				int nHave = false;
				if (nEquipedNum >= i)
					nHave = true;
				Lua_PushBoolean(L, nHave);
				Lua_SetTable(L, nAttrib);

				Lua_SetTable(L, nTable);
			}
		}
	}

	nResult = 5;
Exit0:
//.........这里部分代码省略.........
开发者ID:1suming,项目名称:pap2,代码行数:101,代码来源:KItemInfo.cpp


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