本文整理汇总了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;
}
示例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;
}
示例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 처리를 한다.
}
}
}
示例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;