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


C++ CItem::GetItemBaseInfo方法代码示例

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


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

示例1: AddItem

BOOL CWearedExDialog::AddItem(WORD relPos, cIcon * InIcon)
{
    CHero* pHero = OBJECTMGR->GetHero();

    if( ! AddIcon(relPos, InIcon) )
    {
        return FALSE;
    }

    CItem * item = (CItem * )InIcon;

    pHero->SetWearedItemIdx(relPos, item->GetItemIdx());
    pHero->SetCurComboNum(SKILL_COMBO_NUM);

    APPEARANCEMGR->AddCharacterPartChange(pHero->GetID(), eCHAPPEAR_INIT);

    CHARCALCMGR->AddItem( pHero, item->GetItemBaseInfo());
    //CHARCALCMGR->Initialize( pHero );
    GAMEIN->GetCharacterDialog()->RefreshInfo();
    RefreshSetItem(
        item->GetItemBaseInfo());

    DWORD	dwArmor	=	HERO->GetWearedItemIdx( eWearedItem_Dress );
    DWORD	dwBoots	=	HERO->GetWearedItemIdx( eWearedItem_Shoes );
    DWORD	dwGlove	=	HERO->GetWearedItemIdx( eWearedItem_Glove );
    DWORD	dwItem	=	item->GetItemIdx();

    if( dwArmor == dwItem || dwBoots == dwItem || dwGlove == dwItem )
        HERO->DoGetDefenseRate();

    RefreshArmorItem();
    //----------------------------------

    return TRUE;
}
开发者ID:xianyinchen,项目名称:LUNAPlus,代码行数:35,代码来源:WearedExDialog.cpp

示例2: DeleteItem

BOOL CWearedExDialog::DeleteItem(WORD relPos, cIcon ** outIcon)
{
    CHero* pHero = OBJECTMGR->GetHero();
    //KES 031128 ¹«°ø¾ÆÀÌÅÛ ÀåÂø°¡´É ÅøÆÁ º¯°æ
    if( ! DeleteIcon(relPos, outIcon) )
    {
        return FALSE;
    }

    pHero->SetWearedItemIdx(relPos, 0);
    pHero->SetCurComboNum(SKILL_COMBO_NUM);

    APPEARANCEMGR->AddCharacterPartChange(pHero->GetID(), eCHAPPEAR_INIT);

    CItem* item	= ( CItem* )( *outIcon );

    if( ! item )
    {
        return FALSE;
    }

    CHARCALCMGR->RemoveItem( pHero, item->GetItemBaseInfo() );
    //CHARCALCMGR->Initialize( pHero );
    GAMEIN->GetCharacterDialog()->RefreshInfo();
    RefreshSetItem(
        item->GetItemBaseInfo());

    item->SetImageRGB(
        ICONCLR_USABLE);
    item->SetDeffenceTooltip(
        FALSE);

    HERO->DoGetDefenseRate();

    RefreshArmorItem();
    //----------------------------------

    return TRUE;
}
开发者ID:xianyinchen,项目名称:LUNAPlus,代码行数:39,代码来源:WearedExDialog.cpp

示例3: Check_GetItem

//=========================================================================
//		아이템을 습득했을 때 튜토리얼 진행 여부를 체크하는 함수.
//=========================================================================
void cTutorialManager::Check_GetItem(CItem* pItem)							// 아이템을 습득했을 때 튜토리얼 진행 여부를 체크하는 함수.
{
	if( !pItem )															// 인자로 넘어온 아이템 정보가 유효하지 않으면,
	{
#ifdef _GMTOOL_
		MessageBox(NULL, PERR_MSG3, __FUNCTION__, MB_OK);
#endif
		return;
	}

	if( !m_bActiveTutorial ) return ;										// 튜토리얼이 비활성화 상태면, return 처리를 한다.

	if(m_bUpdated) return ;													// 튜토리얼 이벤트가 업데이트 되었으면, return 처리를 한다.
	
	cTutorial* pCurTutorial ;												// 현재 튜토리얼 정보를 담을 포인터를 선언한다.

	int nCondition1 ;														// 튜토리얼의 발동 조건을 담을 변수를 선언한다.
	int nCondition2 ;														// 두번째 발동 조건을 담을 변수를 선언한다.

	PTRLISTPOS pos = NULL ;													// 튜토리얼 위치 정보를 받을 포인터를 선언하고 null 처리를 한다.
	pos = m_Tutorial_List.GetHeadPosition() ;								// 튜토리얼 리스트를 헤드로 세팅하고 위치 정보를 받는다.

	while(pos)																// 위치 정보가 유효할 동안 whlie문을 돌린다.
	{
		pCurTutorial = NULL ;												// 튜토리얼 정보를 받을 포인터를 null 처리를 한다.
		pCurTutorial = (cTutorial*)m_Tutorial_List.GetNext(pos) ;			// 위치에 해당하는 튜토리얼 정보를 받고, 위치를 다음으로 세팅한다.

		if( !pCurTutorial ) continue ;										// 튜토리얼 정보가 유효하지 않으면 continue 처리를 한다.

		if( pCurTutorial->Is_Completed() ) continue ;						// 완료한 튜토리얼이면, 건너뛴다.

		nCondition1 = -1 ;													// 발동 조건 변수를 -1로 세팅한다.
		nCondition1 = pCurTutorial->Get_StartCondition1() ;					// 현재 튜토리얼의 발동 조건을 받는다.

		if( nCondition1 != e_GET_ITEM ) continue ;							// 아이템 습득시 발동하는 튜토리얼이 아니면 continue 처리를 한다.

		nCondition2 = -1 ;													// 두번째 발동 조건을 -1로 세팅한다.
		nCondition2 = pCurTutorial->Get_StartCondition2() ;					// 두번째 발동 조건을 받는다.

		if( nCondition2 == e_GET_STACK_ITEM )								// 두번째 발동 조건이 스택 아이템일 경우,
		{
			CInventoryExDialog* pInven = NULL ;								// 인벤토리 정보를 받을 포인터를 선언하고 null 처리를 한다.
			pInven = GAMEIN->GetInventoryDialog() ;							// 인벤토리 정보를 받는다.

			if( !pInven )
			{
#ifdef _GMTOOL_
				MessageBox(NULL, PERR_MSG4, __FUNCTION__, MB_OK);
#endif
				continue;
			}

			CItem* pCheckItem = NULL ;										// 체크 아이템을 담을 포인터를 선언하고 null 처리를 한다.
			pCheckItem = pInven->GetItemForIdx( pItem->GetItemIdx() ) ;		// 인벤으로 들어온 아이템의 인덱스로 체크 아이템을 받는다.

			if( !pCheckItem ) continue ;									// 인벤토리에서 체크 아이템을 찾지 못하면, continue 처리를 한다.

			if(pCheckItem->GetItemBaseInfo().Durability > 1)				// 체크 아이템의 개수가 1개 이상이면,
			{
				Start_CurTutorial(pCurTutorial) ;							// 현재 튜토리얼을 시작한다.

				return  ;													// return 처리를 한다.
			}
		}
		else																// 두번째 발동 조건이 스택 아이템이 아닐 경우,
		{
			Start_CurTutorial(pCurTutorial) ;								// 현재 튜토리얼을 시작한다.

			return ;														// return 처리를 한다.
		}
	}
}
开发者ID:xianyinchen,项目名称:LUNAPlus,代码行数:75,代码来源:TutorialManager.cpp

示例4: NetworkMsgParse


//.........这里部分代码省略.........
				{
					CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(1520) );
				}
				break;

			case eConsignmentERR_GoldOver:
				{
					CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(475) );
				}
				break;
			}

		}
		break;

	case MP_NOTE_GETPACKAGE_ACK:
		{
			ITEMOBTAINARRAY * pmsg = (ITEMOBTAINARRAY *)pMsg;												// 아이템 획득 정보를 담을 포인터를 선언하고 메시지를 받는다.

			CItem* pItem = NULL;																			// 아이템 정보를 담을 포인터를 선언하고 null처리를 한다.

			for(WORD i = 0; i < pmsg->ItemNum; ++i )
			{
				ITEMBASE& itemBase = pmsg->ItemInfo[ i ];
				pItem = GAMEIN->GetInventoryDialog()->GetItemForPos( pmsg->GetItem(i)->Position);

				ITEMBASE prevItemBase;
				ZeroMemory( &prevItemBase, sizeof( prevItemBase ) );

				if(pItem)
				{
					if( pItem->GetDBIdx() == itemBase.dwDBIdx )
					{
						prevItemBase = pItem->GetItemBaseInfo();
					}

					pItem->SetItemBaseInfo( itemBase );												// 아이템 기본 정보를 세팅한다.
				}
				else																						// 아이템 정보가 유효하지 않으면,
				{
					pItem = ITEMMGR->MakeNewItem(pmsg->GetItem(i),"MP_NOTE_GETPACKAGE_ACK");					// 새로 아이템을 생성해 포인터로 받는다.
					
					const ITEM_INFO* pInfo = ITEMMGR->GetItemInfo( pItem->GetItemIdx() ) ;
					if( !pInfo ) continue;

					if( pInfo->wSeal == eITEM_TYPE_SEAL )
					{
						itemBase.nSealed = eITEM_TYPE_SEAL ;
						itemBase.nRemainSecond = pInfo->dwUseTime ;

						pItem->SetItemBaseInfo( itemBase ) ;
					}

					GAMEIN->GetInventoryDialog()->AddItem(pItem);
				}
			}

			if( pItem )
			{
				ITEMMGR->ItemDropEffect( pItem->GetItemIdx() );
			}

			QUICKMGR->RefreshQickItem();
		}
		break;
开发者ID:xianyinchen,项目名称:LUNAPlus,代码行数:66,代码来源:NoteManager.cpp


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