void _XWindow_Pocket::Draw( _XGUIObject*& pfocusobject ) { _XWindow::Draw(pfocusobject); if( !this->m_ShowWindow ) return; _XDrawRectAngle( m_WindowPosition.x+16, m_WindowPosition.y+27, m_WindowPosition.x+150, m_WindowPosition.y+95, 0.0f,D3DCOLOR_ARGB(255,147,138,116) ); _XDrawSolidBar( m_WindowPosition.x+8, m_WindowPosition.y+102, m_WindowPosition.x+158, m_WindowPosition.y+137,D3DCOLOR_ARGB(178,8,7,8) ); _XDrawRectAngle( m_WindowPosition.x+8, m_WindowPosition.y+102, m_WindowPosition.x+158, m_WindowPosition.y+137, 0.0f,D3DCOLOR_ARGB(255,8,7,8) ); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255,166,169,128)); g_XBaseFont->PutsAlign(m_WindowPosition.x+13, m_WindowPosition.y+107, _XFONT_ALIGNTYPE_LEFT, _XGETINTERFACETEXT(ID_STRING_POCKET_BROKEN) ); // _T("의상파손으로 임시 저장된") g_XBaseFont->PutsAlign(m_WindowPosition.x+55, m_WindowPosition.y+122, _XFONT_ALIGNTYPE_LEFT, _XGETINTERFACETEXT(ID_STRING_POCKET_BROKEN1) ); // _T("물품입니다") g_XBaseFont->Flush(); for( int i = 0; i < _XDEF_POCKET_MAX_SLOTNUMBER; i++ ) { if( m_AccessoryItemList[i].Get_m_sID() > 0) { m_ItemEdgeIcon[_XNT_ITEMEDGEICONTYPE_NORMAL].Draw( m_WindowPosition.x+m_SlotPosition[i].x, m_WindowPosition.y+m_SlotPosition[i].y ); g_pInventory_Window->DrawIcon( TRUE, m_WindowPosition.x+m_SlotPosition[i].x+1, m_WindowPosition.y+m_SlotPosition[i].y+1, &m_AccessoryItemList[i] ); } else { m_ItemEdgeIcon[_XNT_ITEMEDGEICONTYPE_EMPTY].Draw( m_WindowPosition.x+m_SlotPosition[i].x, m_WindowPosition.y+m_SlotPosition[i].y ); } } DrawSelectedItem(); }
void _XWindow_NPCBuff::Draw(_XGUIObject*& pfocusobject) { if(this->m_ShowWindow) { m_BorderTitle.RenderAlphaBlend(D3DCOLOR_ARGB(128, 255, 255, 255)); } _XWindow::Draw(pfocusobject); if(!this->m_ShowWindow) return; if(m_WindowAnimationType != _XW_ANIMTYPE_NONE) return; // TODO _XDrawRectAngle(m_WindowPosition.x+106, m_WindowPosition.y+235, m_WindowPosition.x+193, m_WindowPosition.y+256, 0.0f, 0xFFDFDAD6); g_XBaseFont->SetColor(0xFFCBCBCB); g_XBaseFont->Puts(m_WindowPosition.x+18, m_WindowPosition.y+240, _XGETINTERFACETEXT(ID_STRING_NPCBUFF_2534)); g_XBaseFont->Flush(); TCHAR moneyStr[128]; memset( moneyStr, 0, sizeof(moneyStr)); // sprintf(moneyStr, "%u", g_pLocalUser->m_Money); _snprintf(moneyStr, sizeof(moneyStr), "%u", g_pLocalUser->m_Money); int colorindex = 0; if( _XGameItem::GetMoneyColor(moneyStr, colorindex) ) { g_XBaseFont->SetColor( g_MoneyColor[colorindex] ); g_XBaseFont->PrintAlign(m_WindowPosition.x+188, m_WindowPosition.y+240, 1.0f, _XFONT_ALIGNTYPE_RIGHT, moneyStr ); } else { g_XBaseFont->SetColor( 0xFFEFFFFF ); g_XBaseFont->PrintAlign(m_WindowPosition.x+188, m_WindowPosition.y+240, 1.0f, _XFONT_ALIGNTYPE_RIGHT, "%u", g_pLocalUser->m_Money); } g_XBaseFont->Flush(); //Author : 양희왕 //breif : 미국 설명이 길어서 툴팁으로 표시 //breif : 베트남도 추가 Date : 08/03/11 #if defined(_XVIETNAMESE) || defined(_XENGLISH) || defined(_XRUSSIAN) if( m_lstboxBuff->GetMouseOverItem() > -1 ) { POINT pos = m_lstboxBuff->GetColumnOffsetWindowPos( m_lstboxBuff->GetMouseOverItem(), 3 ); g_InterfaceTooltip.SetToolTipString(pos.x, pos.y, m_lstboxBuff->GetItemText(m_lstboxBuff->GetMouseOverItem(), 3), _XSC_INFORMATION); } #endif }
void _XWindow_Pocket::DrawSelectedItem(void) { RECT iconrect; int selectedslot = SearchSlotIndex(); iconrect.left = m_WindowPosition.x + m_SlotPosition[selectedslot].x; iconrect.top = m_WindowPosition.y + m_SlotPosition[selectedslot].y; iconrect.right = m_WindowPosition.x + m_SlotPosition[selectedslot].x + 31; iconrect.bottom = m_WindowPosition.y + m_SlotPosition[selectedslot].y + 31; if(selectedslot != -1) { if(g_pInventory_Window->m_bHaveMouseSlot) { _XDrawRectAngle(iconrect.left, iconrect.top, iconrect.right, iconrect.bottom, 1.0f, _XSC_WARNING ); } // mouse hover if( m_AccessoryItemList[selectedslot].Get_m_sID() > 0 ) _XDrawRectAngle(iconrect.left, iconrect.top, iconrect.right, iconrect.bottom, 1.0f, _XSC_ITEM_CLICK); } if( m_MouseSlotItem.m_InventoryNumber >= 0 ) { iconrect.left = m_WindowPosition.x+m_SlotPosition[m_MouseSlotItem.m_InventoryNumber].x; iconrect.top = m_WindowPosition.y+m_SlotPosition[m_MouseSlotItem.m_InventoryNumber].y; iconrect.right = m_WindowPosition.x+m_SlotPosition[m_MouseSlotItem.m_InventoryNumber].x + 31; iconrect.bottom = m_WindowPosition.y+m_SlotPosition[m_MouseSlotItem.m_InventoryNumber].y + 31; if(m_bHaveMouseSlot) { // disable icon image _XDrawSolidBar(iconrect.left, iconrect.top, iconrect.right, iconrect.bottom, D3DCOLOR_ARGB(160, 0, 0, 0)); } _XDrawRectAngle( iconrect.left, iconrect.top, iconrect.right, iconrect.bottom, 1.0f, _XSC_ITEM_SELECT ); } }
void _XWindow_IME::Draw(_XGUIObject*& pfocusobject) { _XWindow::Draw(pfocusobject); if(this->m_ShowWindow) { DWORD blackcolor = D3DCOLOR_ARGB(255,0,0,0); _XDrawRectAngle( m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx-1, m_WindowPosition.y+m_WindowSize.cy-1, 0.0f, blackcolor ); _XDrawRectAngle( m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx-1, m_WindowPosition.y+m_WindowSize.cy-1, 0.0f, D3DCOLOR_ARGB(255,32,32,32) ); _XDrawRectAngle( m_WindowPosition.x + 2, m_WindowPosition.y + 2, m_WindowPosition.x+m_WindowSize.cx-3, m_WindowPosition.y+m_WindowSize.cy-3, 0.0f, blackcolor ); _XDrawLine2D( m_WindowPosition.x + 3, m_WindowPosition.y + 19, m_WindowPosition.x + m_WindowSize.cx - 3, m_WindowPosition.y + 19, blackcolor,blackcolor ); _XIMEContainer* pIMEContainer = _XIMEKERNEL.GetIMEContainer(); g_XBaseFont.SetColor(_XSC_DEFAULT); g_XBaseFont.Puts( m_WindowPosition.x + 8, m_WindowPosition.y + 6, pIMEContainer->GetComText() ); g_XBaseFont.Flush(); } }
void _XWindow_MatchWindow::Draw(_XGUIObject*& pfocusobject) { _XWindow::Draw(pfocusobject); if(!this->m_ShowWindow) return; if(m_WindowAnimationType != _XW_ANIMTYPE_NONE) return; // TODO _XDrawRectAngle(m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx-1, m_WindowPosition.y+m_WindowSize.cy-1, 0.0f, D3DCOLOR_ARGB(255, 0, 0, 0)); g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x+38, m_WindowPosition.y+28, m_FMessageString); g_XBaseFont->Puts(m_WindowPosition.x+38, m_WindowPosition.y+50, m_SMessageString); g_XBaseFont->Flush(); }
void _XWindow_PartyMasterMiniBar::Draw( _XGUIObject*& pfocusobject ) { if( !this->m_ShowWindow ) return; _XWindow::Draw(pfocusobject); #ifdef _XDEF_INTERFACE_RENEWAL_071002_KUKURI if( m_PartyMasterMode == _XPARTYMASTERMODE_MAXIMUM ) { if( m_pClassBorderIcon ) m_pClassBorderIcon->Draw( m_WindowPosition.x - 43, m_WindowPosition.y + 4 ); if( m_pClassIcon ) m_pClassIcon->Draw( m_WindowPosition.x - 35, m_WindowPosition.y + 12 ); ScrnPos* scrnpos = gpInput->GetMouseVirScreenPos(); if( ((scrnpos->x > m_WindowPosition.x-43) ) && (scrnpos->x < m_WindowPosition.x-1) && (scrnpos->z > m_WindowPosition.y+4 ) && (scrnpos->z < m_WindowPosition.y+4+48) ) { int classid = g_pLocalUser->m_PartyInfo[m_PartyIndex].clanclass; if(classid > 0) { if(g_pLocalUser->m_PartyInfo[m_PartyIndex].clan == _XGROUP_BEEGOONG) { if(classid == 7) // 섭혼녀 classid = 4; } else if(g_pLocalUser->m_PartyInfo[m_PartyIndex].clan == _XGROUP_NOCKRIM) { if(classid == 8) // 철갑귀 classid = 4; } g_InterfaceTooltip.SetToolTipString(m_WindowPosition.x, m_WindowPosition.y + 12, _XGETINTERFACETEXT(ID_STRING_NEW_2660+classid-1), _XSC_INFORMATION, FALSE); } else if(g_pLocalUser->m_CharacterInfo.Get_cClass() == 0) { g_InterfaceTooltip.SetToolTipString(m_WindowPosition.x, m_WindowPosition.y + 12, _XGETINTERFACETEXT(ID_STRING_NEW_3713), _XSC_INFORMATION, FALSE); } } } else { if( m_pClassBorderIcon ) m_pClassBorderIcon->Draw( m_WindowPosition.x - 40, m_WindowPosition.y ); if( m_pClassIcon ) m_pClassIcon->Draw( m_WindowPosition.x - 35, m_WindowPosition.y + 3 ); ScrnPos* scrnpos = gpInput->GetMouseVirScreenPos(); if( ((scrnpos->x > m_WindowPosition.x-40) ) && (scrnpos->x < m_WindowPosition.x) && (scrnpos->z > m_WindowPosition.y ) && (scrnpos->z < m_WindowPosition.y+36) ) { int classid = g_pLocalUser->m_PartyInfo[m_PartyIndex].clanclass; if(classid > 0) { if(g_pLocalUser->m_PartyInfo[m_PartyIndex].clan == _XGROUP_BEEGOONG) { if(classid == 7) // 섭혼녀 classid = 4; } else if(g_pLocalUser->m_PartyInfo[m_PartyIndex].clan == _XGROUP_NOCKRIM) { if(classid == 8) // 철갑귀 classid = 4; } g_InterfaceTooltip.SetToolTipString(m_WindowPosition.x, m_WindowPosition.y+3, _XGETINTERFACETEXT(ID_STRING_NEW_2660+classid-1), _XSC_INFORMATION, FALSE); } else if(g_pLocalUser->m_CharacterInfo.Get_cClass() == 0) { g_InterfaceTooltip.SetToolTipString(m_WindowPosition.x, m_WindowPosition.y+3, _XGETINTERFACETEXT(ID_STRING_NEW_3713), _XSC_INFORMATION, FALSE); } } } #endif switch(m_PartyMasterMode) { case _XPARTYMASTERMODE_MAXIMUM: { if( !m_bDangerous ) { g_XBaseFont->SetColor( _XSC_DEFAULT_HIGHLIGHT ); g_XBaseFont->SetGrowMode( _XFONT_EDGEMODE_EDGE, 0xFF000000 ); g_XBaseFont->Puts( m_WindowPosition.x +52, m_WindowPosition.y + 4, m_PartyMasterName ); g_XBaseFont->Flush(); g_XBaseFont->DisableGrowMode(); g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts( m_WindowPosition.x +8, m_WindowPosition.y + 39, g_stringExperienceSharingForm[m_indexPartyExperienceSharing] ); g_XBaseFont->Puts( m_WindowPosition.x +88, m_WindowPosition.y + 39, g_stringItemSharingForm[m_indexPartyItemSharing] ); if( !m_bIsCurrentZone ) { // ( 132 X 14 ) _XDrawSolidBar( m_WindowPosition.x+29, m_WindowPosition.y+19, m_WindowPosition.x+161, m_WindowPosition.y+33 , D3DCOLOR_ARGB(255,11,12,18) ); _XDrawRectAngle( m_WindowPosition.x+28, m_WindowPosition.y+18, m_WindowPosition.x+161, m_WindowPosition.y+33 , 0.0f, D3DCOLOR_ARGB(255,0,0,0) ); TCHAR messagestring[64]; memset( messagestring, 0, sizeof(TCHAR)*64 ); sprintf( messagestring, _XGETINTERFACETEXT(ID_STRING_PARTY_2292), g_ZoneInfoTable[ m_ZoneIndex - 1].zoneshortname ); g_XBaseFont->Puts( m_WindowPosition.x+35, m_WindowPosition.y+21, messagestring ); } g_XBaseFont->Flush(); } else { if( !m_bDeathUser ) { DrawDangerMode(); g_XBaseFont->SetColor( _XSC_WARNING_HIGHLIGHT ); g_XBaseFont->SetGrowMode( _XFONT_EDGEMODE_EDGE, 0xFF000000 ); g_XBaseFont->Puts( m_WindowPosition.x +52, m_WindowPosition.y + 4, m_PartyMasterName ); g_XBaseFont->Flush(); g_XBaseFont->DisableGrowMode(); g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts( m_WindowPosition.x +8, m_WindowPosition.y + 39, g_stringExperienceSharingForm[m_indexPartyExperienceSharing] ); g_XBaseFont->Puts( m_WindowPosition.x +88, m_WindowPosition.y + 39, g_stringItemSharingForm[m_indexPartyItemSharing] ); g_XBaseFont->Flush(); } else { g_XBaseFont->SetColor( D3DCOLOR_ARGB( 255, 100, 100, 100 ) ); g_XBaseFont->SetGrowMode( _XFONT_EDGEMODE_EDGE, 0xFF000000 ); g_XBaseFont->Puts( m_WindowPosition.x +52, m_WindowPosition.y + 4, m_PartyMasterName ); g_XBaseFont->Flush(); g_XBaseFont->DisableGrowMode(); _XDrawSolidBar( m_WindowPosition.x+29, m_WindowPosition.y+19, m_WindowPosition.x+161, m_WindowPosition.y+33 , D3DCOLOR_ARGB(255,11,12,18) ); _XDrawRectAngle( m_WindowPosition.x+28, m_WindowPosition.y+18, m_WindowPosition.x+161, m_WindowPosition.y+33 , 0.0f, D3DCOLOR_ARGB(255,0,0,0) ); g_XBaseFont->SetColor( _XSC_WARNING_HIGHLIGHT ); g_XBaseFont->Puts( m_WindowPosition.x+45, m_WindowPosition.y+21, _XGETINTERFACETEXT(ID_STRING_PARTY_2293) ); g_XBaseFont->Flush(); g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts( m_WindowPosition.x +8, m_WindowPosition.y + 39, g_stringExperienceSharingForm[m_indexPartyExperienceSharing] ); g_XBaseFont->Puts( m_WindowPosition.x +88, m_WindowPosition.y + 39, g_stringItemSharingForm[m_indexPartyItemSharing] ); g_XBaseFont->Flush(); } } bool flag = false; if( CheckMousePositionExperienceSharingBox() ) { if( g_pMainFrame_Window && !g_pMainFrame_Window->GetShowStatus() ) { g_InterfaceTooltip.SetToolTipString( m_WindowPosition.x +4, m_WindowPosition.y + 15, _XGETINTERFACETEXT(ID_STRING_PARTYMASTERMINIBAR_DIVISIONEXP), _XSC_INFORMATION, FALSE ); //_T("경험치분배") g_InterfaceTooltip.Draw(); } } else if( CheckMousePositionItemSharingBox() ) { if( g_pMainFrame_Window && !g_pMainFrame_Window->GetShowStatus() ) { g_InterfaceTooltip.SetToolTipString( m_WindowPosition.x +83, m_WindowPosition.y + 15, _XGETINTERFACETEXT(ID_STRING_PARTYMASTERMINIBAR_DIVISIONITEM), _XSC_INFORMATION, FALSE ); // _T("전리품분배") g_InterfaceTooltip.Draw(); } } else if( CheckMousePosition() ) { if( g_pMainFrame_Window && !g_pMainFrame_Window->GetShowStatus() ) { if( !g_InterfaceTooltip.GetShowStatus() ) { flag = true; if( g_pMiniTooltip_Window ) { if( !m_bDangerous ) { if( g_pMiniTooltip_Window->SetTooltipMode( MTMODE_PARTYINFO, m_PartyIndex, 0, (int)m_bOut, (DWORD)m_bFarAway ) ) g_pMiniTooltip_Window->ShowWindow( TRUE ); } else { if( m_bDeathUser) { if( g_pMiniTooltip_Window->SetTooltipMode( MTMODE_PARTYINFO, m_PartyIndex, 1, 0, (int)m_bOut, (DWORD)m_bFarAway ) ) g_pMiniTooltip_Window->ShowWindow( TRUE ); } else { if( g_pMiniTooltip_Window->SetTooltipMode( MTMODE_PARTYINFO, m_PartyIndex, 0, 0, (int)m_bOut, (DWORD)m_bFarAway ) ) g_pMiniTooltip_Window->ShowWindow( TRUE ); } } } } } } if( flag == false && g_pMiniTooltip_Window->GetMiniTooltipMode() == MTMODE_PARTYINFO && m_PartyIndex == g_pMiniTooltip_Window->GetCurrentSlotNumber() ) g_pMiniTooltip_Window->ShowWindow( FALSE ); #ifdef _XDEF_PARTY_NOTAVAILABLE m_pFarActionIcon->Draw(m_WindowPosition.x+164, m_WindowPosition.y+19); m_pOutActionIcon->Draw(m_WindowPosition.x+164, m_WindowPosition.y+32); #endif #ifdef _XTS_TARGET_STATE _XUser* pUser = g_Userlist.FindUser(g_pLocalUser->m_PartyInfo[m_PartyIndex].playeruniqueid); if(pUser) { for( int i = 0; i < m_StateCount; i++ ) { m_StateImage[i].MoveWindow(m_WindowPosition.x+m_WindowSize.cx+3+17*(i%8), m_WindowPosition.y+2+17*(i/8)); m_StateImage[i].Draw(); if( m_StateImage[i].CheckMousePosition() ) { map <int, _XCharacterState*>::iterator iter_state = pUser->m_StateList.m_mapCharacterStateList.begin(); advance( iter_state, i ); if( iter_state != pUser->m_StateList.m_mapCharacterStateList.end() ) { _XCharacterState* pState = iter_state->second; if(pState) { POINT pos = m_StateImage[i].GetWindowPos(); if(pState->m_FromType == 0) // spell { g_InterfaceTooltip.SetToolTipString( pos.x+32, pos.y+32, g_SkillProperty[pState->m_sSkillID]->skillName, _XSC_INFORMATION, TRUE); } else if(pState->m_FromType == 1) // effect { g_InterfaceTooltip.SetToolTipString( pos.x+32, pos.y+32, g_CharacterStateTable[pState->m_sEffectID]->name, _XSC_INFORMATION, TRUE); } } } } } } #endif } break; case _XPARTYMASTERMODE_MINIMUM: { if( !m_bDangerous ) { g_XBaseFont->SetColor( _XSC_DEFAULT_HIGHLIGHT); g_XBaseFont->SetGrowMode( _XFONT_EDGEMODE_EDGE, 0xFF000000 ); g_XBaseFont->Puts( m_WindowPosition.x +52, m_WindowPosition.y + 4, m_PartyMasterName ); g_XBaseFont->Flush(); g_XBaseFont->DisableGrowMode(); g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Print( m_WindowPosition.x +18, m_WindowPosition.y + 21, 1.0f, _XGETINTERFACETEXT(ID_STRING_PARTYMASTERMINIBAR_PARTYCOUNT), g_pLocalUser->m_PartyMemberCount ); // "동행인원 : %d명" g_XBaseFont->Flush(); } else { DrawDangerMode(); g_XBaseFont->SetColor( _XSC_WARNING_HIGHLIGHT ); g_XBaseFont->SetGrowMode( _XFONT_EDGEMODE_EDGE, 0xFF000000 ); g_XBaseFont->Puts( m_WindowPosition.x +52, m_WindowPosition.y + 4, m_PartyMasterName ); g_XBaseFont->Flush(); g_XBaseFont->DisableGrowMode(); g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Print( m_WindowPosition.x +18, m_WindowPosition.y + 21, 1.0f, _XGETINTERFACETEXT(ID_STRING_PARTYMASTERMINIBAR_PARTYCOUNT), g_pLocalUser->m_PartyMemberCount ); // "동행인원 : %d명" g_XBaseFont->Flush(); } if( g_pMiniTooltip_Window->GetShowStatus() ) { if( g_pMiniTooltip_Window->GetMiniTooltipMode() == MTMODE_PARTYINFO ) g_pMiniTooltip_Window->ShowWindow( FALSE ); } } break; } }
void _XWindow_CastleBattlePersonalHistory::Draw(_XGUIObject*& pfocusobject) { if(this->m_ShowWindow) { #ifdef _XDEF_CASTLEBATTLE_RECORD _XDrawSolidBar( m_WindowPosition.x+2, m_WindowPosition.y+19, m_WindowPosition.x+2+182, m_WindowPosition.y+19+133 , 0xFF000000 ); _XDrawLine2D( m_WindowPosition.x+3, m_WindowPosition.y+19, m_WindowPosition.x+3, m_WindowPosition.y+19+133, D3DCOLOR_ARGB(255,115,93,69), D3DCOLOR_ARGB(255,115,93,69)); _XDrawLine2D( m_WindowPosition.x+182, m_WindowPosition.y+19, m_WindowPosition.x+182, m_WindowPosition.y+19+133, D3DCOLOR_ARGB(255,115,93,69), D3DCOLOR_ARGB(255,115,93,69)); _XDrawRectAngle( m_WindowPosition.x+3, m_WindowPosition.y+36, m_WindowPosition.x+3+179, m_WindowPosition.y+36+72 , 0.0f, D3DCOLOR_ARGB(255,115,93,69) ); _XDrawLine2D( m_WindowPosition.x+3, m_WindowPosition.y+125, m_WindowPosition.x+182, m_WindowPosition.y+125, D3DCOLOR_ARGB(255,115,93,69), D3DCOLOR_ARGB(255,115,93,69)); #else _XDrawSolidBar( m_WindowPosition.x+2, m_WindowPosition.y+19, m_WindowPosition.x+2+182, m_WindowPosition.y+19+106 , 0xFF000000 ); _XDrawLine2D( m_WindowPosition.x+3, m_WindowPosition.y+19, m_WindowPosition.x+3, m_WindowPosition.y+19+106, D3DCOLOR_ARGB(255,115,93,69), D3DCOLOR_ARGB(255,115,93,69)); _XDrawLine2D( m_WindowPosition.x+182, m_WindowPosition.y+19, m_WindowPosition.x+182, m_WindowPosition.y+19+106, D3DCOLOR_ARGB(255,115,93,69), D3DCOLOR_ARGB(255,115,93,69)); _XDrawRectAngle( m_WindowPosition.x+3, m_WindowPosition.y+36, m_WindowPosition.x+3+179, m_WindowPosition.y+36+72 , 0.0f, D3DCOLOR_ARGB(255,115,93,69) ); #endif } _XWindow::Draw(pfocusobject); if( !this->m_ShowWindow ) return; if( m_WindowAnimationType != _XW_ANIMTYPE_NONE ) return; DWORD elapsedtime = (g_LocalSystemTime - g_CBManager.m_dwTimeFromServer)/1000; int minute = elapsedtime / 60; int second = elapsedtime % 60; g_XBaseFont->SetColor(D3DCOLOR_ARGB(255, 255, 255, 255)); g_XBaseFont->SetBoldMode(TRUE); g_XBaseFont->PrintAlign( m_WindowPosition.x+94, m_WindowPosition.y+3, 1.0f, _XFONT_ALIGNTYPE_CENTER, _XGETINTERFACETEXT(g_CBManager.GetCastleNameTextId(g_pLocalUser->m_nCBMapIdInWar))); //장원이름 g_XBaseFont->Print( m_WindowPosition.x+9, m_WindowPosition.y+21, 1.0f, _XGETINTERFACETEXT(ID_STRING_NEW_3370), m_szOwnerName );//_T("현 소유주 : %s") g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(FALSE); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255, 226, 175, 48)); if(m_GaugeMode == _XDEF_CB_GAUGEMODE_NONE) { g_XBaseFont->Puts_Separate( m_WindowPosition.x+9, m_WindowPosition.y+42, _XGETINTERFACETEXT(ID_STRING_NEW_3340), 170, 1.0f, 3 ); //단원이 대전 중 승리하거나 일정 시간이 흐르면 장원혈이 증가합니다. } else if(m_GaugeMode == _XDEF_CB_GAUGEMODE_DELAY) { g_XBaseFont->Puts_Separate( m_WindowPosition.x+9, m_WindowPosition.y+42, _XGETINTERFACETEXT(ID_STRING_NEW_3342), 170, 1.0f, 3 ); //장주가 심기를 안정시키고 있습니다. } else if(m_GaugeMode == _XDEF_CB_GAUGEMODE_THREAT) { g_XBaseFont->Puts_Separate( m_WindowPosition.x+9, m_WindowPosition.y+42, m_szThreatenString, 170, 1.0f, 3 ); } g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(TRUE); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255, 255, 255, 255)); #ifdef _XDEF_CASTLEBATTLE_RECORD g_XBaseFont->PrintAlign( m_WindowPosition.x+94, m_WindowPosition.y+156, 1.0f, _XFONT_ALIGNTYPE_CENTER, _T("%d:%02d"),minute, second ); #else g_XBaseFont->PrintAlign( m_WindowPosition.x+94, m_WindowPosition.y+130, 1.0f, _XFONT_ALIGNTYPE_CENTER, _T("%d:%02d"),minute, second ); #endif g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(FALSE); for( int i = 0; i < 10; ++i ) { if( m_ThreatePoint[i] == 0 )//회색 { m_pImageGrayPoint->Draw(m_WindowPosition.x+14+(16*i), m_WindowPosition.y+109); } else if( m_ThreatePoint[i] == 2)//녹색 { m_pImageGreenPoint->Draw(m_WindowPosition.x+14+(16*i), m_WindowPosition.y+109); } else if( m_ThreatePoint[i] == 1 )//빨강 { m_pImageRedPoint->Draw(m_WindowPosition.x+14+(16*i), m_WindowPosition.y+109); } } }
void _XWindow_TradeItemTooltip::Draw(_XGUIObject*& pfocusobject) { _XWindow::Draw(pfocusobject); if(!this->m_ShowWindow) return; // 2004.05.12->oneway48 insert _XDrawSolidBar( m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx, m_WindowPosition.y+m_WindowSize.cy , D3DCOLOR_ARGB(127,0,0,0) ); // Border edge... _XDrawRectAngle(m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx-1, m_WindowPosition.y+m_WindowSize.cy-1, 0.0f, _XSC_DEFAULT_BLACK); _XDrawRectAngle(m_WindowPosition.x+1, m_WindowPosition.y+1, m_WindowPosition.x+m_WindowSize.cx-2, m_WindowPosition.y+m_WindowSize.cy-2, 0.0f, D3DCOLOR_ARGB(255,96,96,96)); _XDrawRectAngle(m_WindowPosition.x+2, m_WindowPosition.y+2, m_WindowPosition.x+m_WindowSize.cx-3, m_WindowPosition.y+m_WindowSize.cy-3, 0.0f, _XSC_DEFAULT_BLACK); // 2004.05.12->oneawy48 modify // 물품 이름 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+6, m_WindowPosition.x+194, m_WindowPosition.y+22 , D3DCOLOR_ARGB(127,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+5, m_WindowPosition.x+194, m_WindowPosition.y+22 , 0.0f, _XSC_DEFAULT ); // 물품 설명 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+25, m_WindowPosition.x+194, m_WindowPosition.y+56 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+24, m_WindowPosition.x+194, m_WindowPosition.y+56 , 0.0f, _XSC_DEFAULT_BLACK ); // if(m_HoveredSlotIndex > -1) { int uniqid = m_Category3; switch(m_Category1) { case _XGI_FC_WEAPON : { // 물품 기본 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+59, m_WindowPosition.x+194, m_WindowPosition.y+150 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+58, m_WindowPosition.x+194, m_WindowPosition.y+150 , 0.0f, _XSC_DEFAULT_BLACK ); // 물품 요구 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+153, m_WindowPosition.x+194, m_WindowPosition.y+199 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+152, m_WindowPosition.x+194, m_WindowPosition.y+199 , 0.0f, _XSC_DEFAULT_BLACK ); // 물품 이름 정보 g_XBaseFont->SetColor(_XSC_DEFAULT_HIGHLIGHT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 9, g_WeaponItemProperty[uniqid].cName); g_XBaseFont->Puts(m_WindowPosition.x + 15, m_WindowPosition.y + 9, g_WeaponItemProperty[uniqid].cName); // 물품 설명 정보 : 2004.06.16->oneway48 insert g_XBaseFont->SetColor(_XSC_DEFAULT); // 2004.06.15->oneway48 insert int count = 0; for(int i = 0; i < 57; i++) { if( g_WeaponItemProperty[uniqid].cItemInfo[i] == 0 ) break; count++; } if( count <= 30 ) { g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, g_WeaponItemProperty[uniqid].cItemInfo); } else { TCHAR messagestring[64]; memset(messagestring,0,sizeof(TCHAR)*64); for(int i = 0; i < 30; i++) messagestring[i] = g_WeaponItemProperty[uniqid].cItemInfo[i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, messagestring); memset(messagestring,0,sizeof(TCHAR)*64); for( i = 0; i < count-30; i++) messagestring[i] = g_WeaponItemProperty[uniqid].cItemInfo[30+i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 43, messagestring); } // insert end // 기본 정보 g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 61, m_DescClassString );// 계열 -> 무기 분류 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 76, m_DescPowerString );// 공격력 //g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 91, m_DescDurabilityString );// 내구성 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 91, _T("예기") );// 내구성 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 106, m_DescStrengthString );// 강도 //g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 121, m_DescBalanceString );// 균형 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 121, _T("완성도") );// 균형 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 136, m_DescWeightString );// 무게 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 155, m_DescHeartString );// 심기 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 170, m_DescStaminaString );// 정기 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 185, m_DescLevelString );// 내공수위 TCHAR classstring[16]; memset(classstring, 0, sizeof(TCHAR) * 16); switch(g_WeaponItemProperty[ uniqid ].cSecondType) { case _XGI_SC_WEAPON_SHORT : { switch(g_WeaponItemProperty[uniqid].cThirdType) { case _XGI_TC_WEAPON_SWORD : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_SWORD)); break; case _XGI_TC_WEAPON_KNIFE : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_KNIFE)); break; case _XGI_TC_WEAPON_CLUB : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_CLUB)); break; case _XGI_TC_WEAPON_HIT : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_HIT)); break; case _XGI_TC_WEAPON_FIST : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_FIST)); break; case _XGI_TC_WEAPON_AXE : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_AXE)); break; case _XGI_TC_WEAPON_SECRET : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_SECRETWEAPON)); break; case _XGI_TC_WEAPON_RING : strcpy(classstring, "륜"); break; } } break; case _XGI_SC_WEAPON_LONG : { switch(g_WeaponItemProperty[uniqid].cThirdType) { case _XGI_TC_WEAPON_GLAIVE : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_GLAIVE)); break; case _XGI_TC_WEAPON_SPEAR : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_SPEAR)); break; case _XGI_TC_WEAPON_STAFF : strcpy(classstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_STAFF)); break; } } break; } g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, classstring); //무기 분류 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76, 1.0f, "%d - %d", //공격력 g_WeaponItemProperty[uniqid].sMinPower, g_WeaponItemProperty[uniqid].sMaxPower); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 91, 1.0f, "%d" , g_WeaponItemProperty[uniqid].usDurability);// 내구성 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 106, 1.0f, "%d" , g_WeaponItemProperty[uniqid].cStrength); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 106, 1.0f, "%d" , g_WeaponItemProperty[uniqid].cStrength); switch(g_WeaponItemProperty[uniqid].cBalance) { case 25: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 121, _T("천품")); break; case 20: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 121, _T("상품")); break; case 15: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 121, _T("중품")); break; case 10: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 121, _T("하품")); break; case 5: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 121, _T("가품")); break; } //g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 121, 1.0f, "%d" , g_WeaponItemProperty[uniqid].cBalance); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 136, 1.0f, "%d" , g_WeaponItemProperty[uniqid].sClanPoint1); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 155, 1.0f, "%d" , g_WeaponItemProperty[uniqid].sReqJung); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 170, 1.0f, "%d" , g_WeaponItemProperty[uniqid].sReqSim); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 185, 1.0f, "%d" , g_WeaponItemProperty[uniqid].sReqLevel); // 2004.06.14->oneway48 insert // 물품 가격 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+202, m_WindowPosition.x+194, m_WindowPosition.y+220 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+201, m_WindowPosition.x+194, m_WindowPosition.y+220 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 205, m_DescPrice );// 가격 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 205, 1.0f, "%d" , g_WeaponItemProperty[uniqid].uiPrice); // 2004.05.18->oneway48 modify : 데이타가 들어오면 적용 /* if(g_WeaponItemProperty[uniqid].제련속성) { // 물품 제련 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+202, m_WindowPosition.x+194, m_WindowPosition.y+233 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+201, m_WindowPosition.x+194, m_WindowPosition.y+233 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 204, m_DescRefine1String );// 제련 속성 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 219, m_DescRefine2String );// 제련 속성 2 } if(g_WeaponItemProperty[uniqid].부과효과) { // 부과 효과 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+236, m_WindowPosition.x+194, m_WindowPosition.y+282 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+235, m_WindowPosition.x+194, m_WindowPosition.y+282 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255,219,196,136)); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 239, m_DescAdditionalEffect1String );// 부가 효과 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 254, m_DescAdditionalEffect2String );// 부가 효과 2 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 269, m_DescAdditionalEffect3String );// 부가 효과 3 } if(g_WeaponItemProperty[uniqid].세트효과) { // 세트 효과 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+285, m_WindowPosition.x+194, m_WindowPosition.y+361 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+284, m_WindowPosition.x+194, m_WindowPosition.y+361 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255,0,255,0)); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 288, m_DescSetEffect1String );// 세트 효과 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 303, m_DescSetEffect2String );// 세트 효과 2 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 318, m_DescSetEffect3String );// 세트 효과 3 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 333, m_DescSetEffect4String );// 세트 효과 4 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 348,m_DescSetEffect5String);// 세트 효과 5 } */ // modify end } break; case _XGI_FC_CLOTHES : { // 물품 기본 정보 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+59, m_WindowPosition.x+194, m_WindowPosition.y+150 + 15 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+58, m_WindowPosition.x+194, m_WindowPosition.y+150 + 15 , 0.0f, _XSC_DEFAULT_BLACK ); // 물품 요구 정보 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+153, m_WindowPosition.x+194, m_WindowPosition.y+199 + 15, D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+152, m_WindowPosition.x+194, m_WindowPosition.y+199 + 15 , 0.0f, _XSC_DEFAULT_BLACK ); //2004.06.25->oneway48 insert TCHAR messagestring[64]; memset(messagestring,0,sizeof(TCHAR)*64); switch(g_ClothesItemProperty[uniqid].cClan) { case 0: strcpy(messagestring,_T("공통 사용")); break; case 1: strcpy(messagestring,_T("개방 전용")); break; case 2: strcpy(messagestring,_T("비궁 전용")); break; case 3: strcpy(messagestring,_T("소림 전용")); break; case 4: strcpy(messagestring,_T("녹림 전용")); break; case 5: strcpy(messagestring,_T("무당 전용")); break; case 6: strcpy(messagestring,_T("마교 전용")); break; case 7: strcpy(messagestring,_T("세가 전용")); break; } // 물품 이름 정보 g_XBaseFont->SetColor(_XSC_DEFAULT_HIGHLIGHT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 9, g_ClothesItemProperty[uniqid].cName); g_XBaseFont->Print(m_WindowPosition.x + 15, m_WindowPosition.y + 9, 1.0f, "%s (%s)" , g_ClothesItemProperty[uniqid].cName,messagestring); //g_XBaseFont->Puts(m_WindowPosition.x + 15, m_WindowPosition.y + 9, g_ClothesItemProperty[uniqid].cName); // 물품 설명 정보 : 2004.06.16->oneway48 insert g_XBaseFont->SetColor(_XSC_DEFAULT); // 2004.06.15->oneway48 insert int count = 0; for(int i = 0; i < 57; i++) { if( g_ClothesItemProperty[uniqid].cItemInfo[i] == 0 ) break; count++; } if( count <= 30 ) { g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, g_ClothesItemProperty[uniqid].cItemInfo); } else { TCHAR messagestring[64]; memset(messagestring,0,sizeof(TCHAR)*64); for(int i = 0; i < 30; i++) messagestring[i] = g_ClothesItemProperty[uniqid].cItemInfo[i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, messagestring); memset(messagestring,0,sizeof(TCHAR)*64); for( i = 0; i < count-30; i++) messagestring[i] = g_ClothesItemProperty[uniqid].cItemInfo[30+i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 43, messagestring); } // insert end // 기본 정보 g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 61, m_DescGenderString );// 성별 2004.06.11->oneway48 insert g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 61 + 15, m_DescStrengthString );// 강도 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 76 + 15, m_DescWeightString );// 무게 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 91 + 15, m_DescDefenseString );// 방어력 //g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 106 + 15, m_DescDurabilityString );// 내구성 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 106 + 15, _T("착용감") );// 내구성 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 121 + 15, m_DescWarmthString );// 보온효과 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 136 + 15, m_DescResistanceString );// 속성 저항력 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 155 + 15, m_DescHeartString );// 심기 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 170 + 15, m_DescStaminaString );// 정기 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 185 + 15, m_DescLevelString );// 내공수위 // 2004.06.11->oneway48 if( g_ClothesItemProperty[uniqid].cSexType == 0 ) // 남자 { g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("남자")); } else if(g_ClothesItemProperty[uniqid].cSexType == 1) // 여자 { g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("여자")); } else // 공통 { g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("공통")); } g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 61 + 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].cStrength); // 강도 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76 + 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].sClanPoint1); // 무게 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 91 + 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].sDefence); // 방어력 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 106 + 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].usDurability);// 내구성 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 121 + 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].cWarm);// 보온효과 // 2004.06.14->oneway48 insert g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 155+ 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].sReqJung); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 170+ 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].sReqSim); g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 185+ 15, 1.0f, "%d" , g_ClothesItemProperty[uniqid].sReqLevel); // 물품 가격 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+217, m_WindowPosition.x+194, m_WindowPosition.y+235 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+216, m_WindowPosition.x+194, m_WindowPosition.y+235 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 220, m_DescPrice );// 가격 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 220, 1.0f, "%d" , g_ClothesItemProperty[uniqid].uiPrice); // 2004.05.18->oneway48 modify /* if(g_ClothesItemProperty[uniqid].제련속성) { // 물품 제련 정보 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+202, m_WindowPosition.x+194, m_WindowPosition.y+233 + 15, D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+201, m_WindowPosition.x+194, m_WindowPosition.y+233 + 15, 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 204 + 15, m_DescRefine1String );// 제련 속성 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 219 + 15, m_DescRefine2String );// 제련 속성 2 } if(g_ClothesItemProperty[uniqid].부과효과) { // 부과 효과 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+236, m_WindowPosition.x+194, m_WindowPosition.y+282 + 15 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+235, m_WindowPosition.x+194, m_WindowPosition.y+282 + 15 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255,219,196,136)); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 239 + 15, m_DescAdditionalEffect1String );// 부가 효과 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 254 + 15, m_DescAdditionalEffect2String );// 부가 효과 2 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 269 + 15, m_DescAdditionalEffect3String );// 부가 효과 3 } if(g_ClothesItemProperty[uniqid].세트효과) { // 세트 효과 정보 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+285, m_WindowPosition.x+194, m_WindowPosition.y+361 + 15 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+284, m_WindowPosition.x+194, m_WindowPosition.y+361 + 15, 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->SetColor(D3DCOLOR_ARGB(255,0,255,0)); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 288 + 15, m_DescSetEffect1String );// 세트 효과 1 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 303 + 15, m_DescSetEffect2String );// 세트 효과 2 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 318 + 15, m_DescSetEffect3String );// 세트 효과 3 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 333 + 15, m_DescSetEffect4String );// 세트 효과 4 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 348 + 15,m_DescSetEffect5String);// 세트 효과 5 } */ // modify end } break; case _XGI_FC_POTION : { // 물품 기본 정보 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+59, m_WindowPosition.x+194, m_WindowPosition.y+120 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+58, m_WindowPosition.x+194, m_WindowPosition.y+120 , 0.0f, _XSC_DEFAULT_BLACK ); // 물품 이름 정보 g_XBaseFont->SetColor(_XSC_DEFAULT_HIGHLIGHT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 9, g_PotionItemProperty[uniqid].cName); g_XBaseFont->Puts(m_WindowPosition.x + 15, m_WindowPosition.y + 9, g_PotionItemProperty[uniqid].cName); // 물품 설명 정보 : 2004.06.16->oneway48 insert g_XBaseFont->SetColor(_XSC_DEFAULT); // 2004.06.15->oneway48 insert int count = 0; for(int i = 0; i < 57; i++) { if( g_PotionItemProperty[uniqid].cItemInfo[i] == 0 ) break; count++; } if( count <= 30 ) { g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, g_PotionItemProperty[uniqid].cItemInfo); } else { TCHAR messagestring[64]; memset(messagestring,0,sizeof(TCHAR)*64); for(int i = 0; i < 30; i++) messagestring[i] = g_PotionItemProperty[uniqid].cItemInfo[i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, messagestring); memset(messagestring,0,sizeof(TCHAR)*64); for( i = 0; i < count-30; i++) messagestring[i] = g_PotionItemProperty[uniqid].cItemInfo[30+i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 43, messagestring); } // insert end // 기본 정보 g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 61, m_DescRollString );// 역할 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 76, m_DescEffectString );// 효능 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 91, m_DescFeatureString );// 특징 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 106, m_DescWeightString );// 무게 // 2004.06.15->oneway48 insert switch(g_PotionItemProperty[uniqid].cSecondType) { case 0: { g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("내상 치료제") ); switch(g_PotionItemProperty[uniqid].cApplyType) { case 0: g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76 , 1.0f, "내상 %d 감소" , g_PotionItemProperty[uniqid].sApplyValue); // 무게 break; case 1: g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76 , 1.0f, "내상 %d%% 감소" , g_PotionItemProperty[uniqid].sApplyValue); // 무게 break; } } break; case 1: { g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("외상 치료제") ); switch(g_PotionItemProperty[uniqid].cApplyType) { case 0: g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76 , 1.0f, "외상 %d 감소" , g_PotionItemProperty[uniqid].sApplyValue); // 무게 break; case 1: g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 76 , 1.0f, "외상 %d%% 감소" , g_PotionItemProperty[uniqid].sApplyValue); // 무게 break; } } break; case 2: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 61, _T("피로 회복제") ); break; } // 2004.06.17->oneway48 insert switch(g_PotionItemProperty[uniqid].cClan) { case 0: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("공통 사용") ); break; case 1: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("개방 전용") ); break; case 2: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("비궁 전용") ); break; case 3: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("소림 전용") ); break; case 4: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("녹림 전용") ); break; case 5: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("무당 전용") ); break; case 6: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("마교 전용") ); break; case 7: g_XBaseFont->Puts(m_WindowPosition.x + 100, m_WindowPosition.y + 91, _T("세가 전용") ); break; } g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 106, 1.0f, "%d" , g_PotionItemProperty[uniqid].sClanPoint1);// 무게 // insert end // 물품 가격 박스 _XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+123, m_WindowPosition.x+194, m_WindowPosition.y+141 , D3DCOLOR_ARGB(100,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+122, m_WindowPosition.x+194, m_WindowPosition.y+141 , 0.0f, _XSC_DEFAULT_BLACK ); g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 126, m_DescPrice );// 가격 g_XBaseFont->Print(m_WindowPosition.x + 100, m_WindowPosition.y + 126, 1.0f, "%d" , g_PotionItemProperty[uniqid].uiPrice); } break; case _XGI_FC_QUEST : { g_XBaseFont->SetColor(_XSC_DEFAULT_HIGHLIGHT); // 물품 이름 정보 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 9, g_QuestItemProperty[uniqid].cName); g_XBaseFont->Puts(m_WindowPosition.x + 15, m_WindowPosition.y + 9, g_QuestItemProperty[uniqid].cName); // 물품 설명 정보 : 2004.06.16->oneway48 insert g_XBaseFont->SetColor(_XSC_DEFAULT); // 2004.06.15->oneway48 insert int count = 0; for(int i = 0; i < 57; i++) { if( g_QuestItemProperty[uniqid].cItemInfo[i] == 0 ) break; count++; } if( count <= 30 ) { g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, g_QuestItemProperty[uniqid].cItemInfo); } else { TCHAR messagestring[64]; memset(messagestring,0,sizeof(TCHAR)*64); for(int i = 0; i < 30; i++) messagestring[i] = g_QuestItemProperty[uniqid].cItemInfo[i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 28, messagestring); memset(messagestring,0,sizeof(TCHAR)*64); for( i = 0; i < count-30; i++) messagestring[i] = g_QuestItemProperty[uniqid].cItemInfo[30+i]; g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 43, messagestring); } // insert end } break; default : { g_XBaseFont->SetColor(_XSC_DEFAULT_HIGHLIGHT); // 물품 이름 정보 g_XBaseFont->Puts(m_WindowPosition.x + 14, m_WindowPosition.y + 9, "NONAME"); g_XBaseFont->Puts(m_WindowPosition.x + 15, m_WindowPosition.y + 9, "NONAME"); } break; } } g_XBaseFont->Flush(); /* // Border edge... _XDrawRectAngle( m_WindowPosition.x, m_WindowPosition.y, m_WindowPosition.x+m_WindowSize.cx-1, m_WindowPosition.y+m_WindowSize.cy-1, 0.0f, _XSC_DEFAULT_BLACK ); _XDrawRectAngle( m_WindowPosition.x+1, m_WindowPosition.y+1, m_WindowPosition.x+m_WindowSize.cx-2, m_WindowPosition.y+m_WindowSize.cy-2, 0.0f, D3DCOLOR_ARGB(255,96,96,96) ); _XDrawRectAngle( m_WindowPosition.x+2, m_WindowPosition.y+2, m_WindowPosition.x+m_WindowSize.cx-3, m_WindowPosition.y+m_WindowSize.cy-3, 0.0f, _XSC_DEFAULT_BLACK ); m_ItemBorder.Draw(); //_XDrawSolidBar( m_WindowPosition.x+6, m_WindowPosition.y+6, m_WindowPosition.x+66, m_WindowPosition.y+146 ,D3DCOLOR_ARGB(64,0,0,0) ); //_XDrawRectAngle( m_WindowPosition.x+5, m_WindowPosition.y+5, m_WindowPosition.x+66, m_WindowPosition.y+146, 0.0f, _XSC_DEFAULT_BLACK ); switch(m_Category1) { case _XGI_FC_WEAPON : g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 10, m_DescNameString ); g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 10, g_WeaponItemProperty[m_Category3].cName); g_XBaseFont->SetColor( _XSC_INFORMATION ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 40, m_DescClassString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 53, m_DescPowerString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 66, m_DescSuccessRateString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 79, m_DescWeightString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 92, m_DescRequireString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 105, m_DescEffectString ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 118, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_BUYPRICE) ); TCHAR classstring[16]; memset( classstring, 0, sizeof(TCHAR) * 16 ); switch( g_WeaponItemProperty[m_Category3].cSecondType ) { case _XGI_SC_WEAPON_SHORT : { /////////////////////////////////////////////////////////////////////////////////////////////////// // _XGI_SC_WEAPON_SHORT switch( g_WeaponItemProperty[m_Category3].cThirdType ) { case _XGI_TC_WEAPON_SWORD : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_SWORD)); break; case _XGI_TC_WEAPON_KNIFE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_KNIFE) ); break; case _XGI_TC_WEAPON_HIT : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_HIT) ); break; case _XGI_TC_WEAPON_FIST : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_FIST) ); break; case _XGI_TC_WEAPON_AXE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_AXE) ); break; case _XGI_TC_WEAPON_SECRET : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_SECRETEWEAPON) ); break; case _XGI_TC_WEAPON_DOUBLE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_DOUBLEHAND) ); break; } } break; case _XGI_SC_WEAPON_LONG : { /////////////////////////////////////////////////////////////////////////////////////////////////// // _XGI_SC_WEAPON_LONG switch( g_WeaponItemProperty[m_Category3].cThirdType ) { case _XGI_TC_WEAPON_GLAIVE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_GLAIVE) ); break; case _XGI_TC_WEAPON_SPEAR : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_SPEAR) ); break; case _XGI_TC_WEAPON_CLUB : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_CLUB) ); break; case _XGI_TC_WEAPON_STAFF : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_STAFF) ); break; case _XGI_TC_WEAPON_AXE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_BATTLEAXE) ); break; case _XGI_TC_WEAPON_RAKE : strcpy(classstring, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_RAKE) ); break; } } break; default : break; } g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 40, classstring ); g_XBaseFont->Print( m_WindowPosition.x + 140, m_WindowPosition.y + 53, 1.0f, "%d - %d", g_WeaponItemProperty[m_Category3].sMinPower, g_WeaponItemProperty[m_Category3].sMaxPower); g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 79, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_NORMAL)); g_XBaseFont->Print(m_WindowPosition.x + 140, m_WindowPosition.y + 118, 1.0f, "%d", g_WeaponItemProperty[m_Category3].uiPrice ); break; case _XGI_FC_CLOTHES : g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 10, m_DescNameString ); g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 10, g_ClothesItemProperty[m_Category3].cName); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 40, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_BUYPRICE)); g_XBaseFont->Print(m_WindowPosition.x + 140, m_WindowPosition.y + 40, 1.0f, "%d", g_ClothesItemProperty[m_Category3].uiPrice ); TCHAR genderstring[16]; if(g_ClothesItemProperty[m_Category3].cSexType == _XGENDER_MAN) strncpy(genderstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_MAN), 15); else strncpy(genderstring, g_StrManager.GetString(ID_STRING_ITEMTOOLTIP_WOMAN), 15); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 70, genderstring); break; case _XGI_FC_POTION : g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 10, m_DescNameString ); g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 10, g_PotionItemProperty[m_Category3].cName); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 40, g_StrManager.GetString(ID_STRING_TRADEITEMTOOLTIP_BUYPRICE)); g_XBaseFont->Print(m_WindowPosition.x + 140, m_WindowPosition.y + 40, 1.0f, "%d", g_PotionItemProperty[m_Category3].uiPrice ); break; default : g_XBaseFont->SetColor( _XSC_DEFAULT ); g_XBaseFont->Puts(m_WindowPosition.x + 74, m_WindowPosition.y + 10, m_DescNameString ); g_XBaseFont->Puts(m_WindowPosition.x + 140, m_WindowPosition.y + 10, "NONAME"); break; } g_XBaseFont->Flush(); RenderItem(); */ }
void _XWindow_NPCResource_New::Draw(_XGUIObject*& pfocusobject) { if(this->m_ShowWindow) { m_BorderTile.RenderAlphaBlend(D3DCOLOR_ARGB(128, 255, 255, 255)); if(m_nSelectedTab == _TAB_LIST) { _XDrawSolidBar( m_WindowPosition.x+7, m_WindowPosition.y+45, m_WindowPosition.x+177, m_WindowPosition.y+250 , D3DCOLOR_ARGB(127,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+6, m_WindowPosition.y+44, m_WindowPosition.x+177, m_WindowPosition.y+250 , 0.0f, D3DCOLOR_ARGB(255,0,0,0) ); } else { _XDrawSolidBar( m_WindowPosition.x+9, m_WindowPosition.y+48, m_WindowPosition.x+174, m_WindowPosition.y+234 , D3DCOLOR_ARGB(127,0,0,0) ); _XDrawRectAngle( m_WindowPosition.x+8, m_WindowPosition.y+47, m_WindowPosition.x+174, m_WindowPosition.y+234 , 0.0f, D3DCOLOR_ARGB(255,0,0,0) ); int column = 0; int row = 0; for( int i = 0; i < 16 ; i++ ) { column = i%4; row = i/4; m_pEmptyItemBorder->Draw(m_WindowPosition.x+20+(column*37), m_WindowPosition.y+87+(36*row)); } m_pEmptyItemBorder->Draw(m_WindowPosition.x+20, m_WindowPosition.y+53); if( m_nSelectedResourceItem != -1 && m_nSelectedResourceItem < g_ResourceManager.m_TotalCountResourceItem) { int count = 0; int column = 0; int row = 0; _XCollectionResourceItem* currentneeditem = NULL; list <_XCollectionResourceItem*>::iterator iter_needitem; for(iter_needitem = g_ResourceManager.m_arrayResourceItem[m_nSelectedResourceItem].m_listNeedItem.begin() ; iter_needitem != g_ResourceManager.m_arrayResourceItem[m_nSelectedResourceItem].m_listNeedItem.end() ; iter_needitem++) { currentneeditem = *iter_needitem; if(currentneeditem) { column = count%4; row = count/4; g_pInventory_Window->DrawIcon_LifeSkill(TRUE, m_WindowPosition.x+20+(column*37), m_WindowPosition.y+87+(36*row), currentneeditem); // Drag 하면 complete 표시 if(m_tItemInfo[count+1].bDragComplete) { m_pCompleteItemBorder->Draw(m_WindowPosition.x+20+(column*37), m_WindowPosition.y+87+(36*row)); // 제련 수치 표시 if(_XGI_FC_WEAPON == GetEqualItemType(currentneeditem->Get_m_cType())) { if(g_pLocalUser->m_UserItemList[m_tItemInfo[count+1].nInvenNumber].Get_m_ucStrength() > 0) { g_XSmallFont->SetGrowMode(_XFONT_EDGEMODE_EDGE, 0xFF000000); g_XSmallFont->SetColor(0xFFFFD901); g_XSmallFont->PrintAlign(m_WindowPosition.x+20+(column*37)+30, m_WindowPosition.y+87+(36*row)+32-g_XSmallFont->GetHeight(), 1.0f, _XFONT_ALIGNTYPE_RIGHT, "+%d", g_pLocalUser->m_UserItemList[m_tItemInfo[count+1].nInvenNumber].Get_m_ucStrength()); g_XSmallFont->Flush(); g_XSmallFont->DisableGrowMode(); } } } else { _XDrawSolidBar( m_WindowPosition.x+20+(column*37), m_WindowPosition.y+87+(36*row), m_WindowPosition.x+20+30+(column*37), m_WindowPosition.y+87+30+(36*row) , D3DCOLOR_ARGB(127,0,0,0) ); } count++; } } // 보상 아이템 g_pInventory_Window->DrawIcon(TRUE, m_WindowPosition.x+21, m_WindowPosition.y+54, &g_ResourceManager.m_arrayResourceItem[m_nSelectedResourceItem].m_RewardItem); m_pCompleteItemBorder->Draw(m_WindowPosition.x+21, m_WindowPosition.y+54); g_XBaseFont->SetBoldMode(TRUE); g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->PrintAlign(m_WindowPosition.x+113, m_WindowPosition.y+55, 1.0f, _XFONT_ALIGNTYPE_CENTER,"[%s]", _XGameItem::GetItemName(g_ResourceManager.m_arrayResourceItem[m_nSelectedResourceItem].m_RewardItem.Get_m_cType(), g_ResourceManager.m_arrayResourceItem[m_nSelectedResourceItem].m_RewardItem.Get_m_sID())); if(m_tItemInfo[0].bDragComplete) { g_XBaseFont->PutsAlign(m_WindowPosition.x+113, m_WindowPosition.y+70, _XFONT_ALIGNTYPE_CENTER,"(1 / 1)"); } else { g_XBaseFont->PutsAlign(m_WindowPosition.x+113, m_WindowPosition.y+70, _XFONT_ALIGNTYPE_CENTER,"(0 / 1)"); } g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(FALSE); } } } _XWindow::Draw(pfocusobject); if(!this->m_ShowWindow) return; if(m_WindowAnimationType != _XW_ANIMTYPE_NONE) return; // TODO if(m_nSelectedTab == _TAB_LIST) { g_XBaseFont->SetBoldMode(TRUE); g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x+13, m_WindowPosition.y+27, _XGETINTERFACETEXT(ID_STRING_NPCCOLLECTION_2259)); //교환가능목록 g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(FALSE); } else { g_XBaseFont->SetBoldMode(TRUE); g_XBaseFont->SetColor(_XSC_DEFAULT); g_XBaseFont->Puts(m_WindowPosition.x+13, m_WindowPosition.y+27, _XGETINTERFACETEXT(ID_STRING_NPCRESOURCE_2266)); //필요물품 g_XBaseFont->Flush(); g_XBaseFont->SetBoldMode(FALSE); } }