void CWndShopCtrl::OnDraw(C2DRender* p2DRender) { CPoint pt( 3, 3 ); CRect rect = GetClientRect(); for( int i = 0; i < MAX_CART; i++ ) { int x = i % 6; int y = i / 6; CItemBase* pItemBase = m_pItemElem[ i ]; if( pItemBase ) { if( ((CItemElem*)pItemBase)->IsFlag( CItemElem::expired ) ) pItemBase->GetTexture()->Render2( p2DRender, CPoint( x * 35, y * 35 ), D3DCOLOR_ARGB( 255, 255, 100, 100 ) ); else pItemBase->GetTexture()->Render( p2DRender, CPoint( x * 35, y * 35 ) ); CRect rectHittest = CRect( x * 35, y * 35 + 3, x * 35 + 35, y * 35 + 35 + 3); CPoint point = GetMousePoint(); if( rectHittest.PtInRect( point ) ) { CPoint point2 = point; ClientToScreen( &point2 ); ClientToScreen( &rectHittest ); g_WndMng.PutToolTip_Item( pItemBase, point2, &rectHittest ); } CItemElem* pItemElem = (CItemElem*)pItemBase; if( pItemElem->GetProp()->dwPackMax > 1 ) { //short n = m_nBuy[i]; //if( IsUsingItem( pItemBase ) ) // n = pItemBase->GetExtra(); short m_nItemNum = pItemElem->m_nItemNum; if( pItemElem->GetExtra() > 0 ) m_nItemNum -= (short)pItemElem->GetExtra(); TCHAR szTemp[ 35 ]; _stprintf( szTemp, "%d", m_nItemNum ); //_stprintf( szTemp, "%d", n ); CD3DFont* pOldFont = p2DRender->GetFont();//adeilson p2DRender->SetFont( CWndBase::m_Theme.m_pFontWndNewTitle ); CSize size = m_p2DRender->m_pFont->GetTextExtent( szTemp ); m_p2DRender->TextOut( x * 35 + 35 - size.cx, y * 35 + 35 - size.cy, szTemp, 0xFF000000 ); m_p2DRender->TextOut( x * 35 + 34 - size.cx, y * 35 + 34 - size.cy, szTemp, 0xFF85FF8A ); p2DRender->SetFont( pOldFont ); //_stprintf( szTemp, "%d", n ); //CSize size = p2DRender->m_pFont->GetTextExtent( szTemp ); //p2DRender->TextOut( x * 35 + 35 - size.cx, y * 35 + 35 - size.cy, szTemp, 0xff1010ff ); } } } }
BOOL CWndSummonAngel::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ) { int isValid = ITEM_INVALID; CItemElem* pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); if( m_nSelecCtrl > -1 && !m_MatDie[m_nSelecCtrl].isUse) { if( m_nSelecCtrl < 10 && (pItemElem->GetProp()->dwID == II_GEN_MAT_ORICHALCUM01 || pItemElem->GetProp()->dwID == II_GEN_MAT_ORICHALCUM01_1)) { if( pItemElem->m_nItemNum > pItemElem->GetExtra() ) isValid = ITEM_VALID; else isValid = ITEM_MAX_OVERFLOW; } else if( m_nSelecCtrl > 9 && m_nSelecCtrl < 20 && (pItemElem->GetProp()->dwID == II_GEN_MAT_MOONSTONE || pItemElem->GetProp()->dwID == II_GEN_MAT_MOONSTONE_1)) { if( pItemElem->m_nItemNum > pItemElem->GetExtra() ) isValid = ITEM_VALID; else isValid = ITEM_MAX_OVERFLOW; } } switch (isValid) { case ITEM_VALID: { SetDie(pItemElem); break; } case ITEM_MAX_OVERFLOW: { // Max overflow Error Msg. g_WndMng.OpenMessageBox( prj.GetText( TID_GAME_SUMMONANGEL_ERROR1 ) ); break; } case ITEM_INVALID: { // Invalid Item Error Msg. break; } } return TRUE; }
int CWndGuildMeritCtrl::GetTotalCount() { int nCount = 0; CItemElem* pItemElem = NULL; for( int i=0; i<(int)( m_pItemContainer.size() ); i++ ) { pItemElem = (CItemElem*)m_pItemContainer[i]; if( pItemElem ) nCount += pItemElem->GetExtra(); } return nCount; }