Esempio n. 1
0
void CSeparateDlg::Draw()
{
	if( !IsVision() ) return;

	CTDialog::Draw();

	m_pCurrState->Draw();


	m_MaterialItemSlot.Draw();

	CIcon* pIcon = NULL;

	CWinCtrl * pCtrl = NULL;
	CWinCtrl * pCtrl2 = NULL;

	RECT rcDraw, rcDrawCount;
	int		iGapY = 0;

	///필요 MP or 줄리
	D3DXMATRIX mat;	
	D3DXMatrixTranslation( &mat, (float)m_sPosition.x, (float)m_sPosition.y,0.0f);
	::setTransformSprite( mat );

	if( pIcon = m_MaterialItemSlot.GetIcon() )
	{
		if( pCtrl = Find("DEST_ITEM_NAME") )
		{
			((CTImage*)pCtrl)->SetAlign(DT_CENTER | DT_VCENTER);
			((CTImage*)pCtrl)->SetText(pIcon->GetName());//대상 아이템
		}
	}
//05. 12. 23 - 김주현 : 분해가.. 기본스킬에 등록됨에 따라 기존에 뺏어오던 돈이랑 mp는 삭제되었다
//하지만 UI 작업이 아직 안된 관계로 찍는 부분만 삭제하고 나중에 UI 수정 작업을 해줘야 한다.
/*
	if(pCtrl = Find("REQ_MP_NUM"))
	{
		SetRect( &rcDraw,
			pCtrl->GetOffset().x, 
			pCtrl->GetOffset().y, 
			pCtrl->GetOffset().x+pCtrl->GetWidth(), 
			pCtrl->GetOffset().y+pCtrl->GetHeight() );

		CSeparate& Separate = CSeparate::GetInstance();
		switch( Separate.GetType() )
		{
		case CSeparate::TYPE_SKILL:
			drawFontf( g_GameDATA.m_hFONT[ FONT_NORMAL ], true, &rcDraw ,g_dwWHITE,DT_RIGHT,"%d", Separate.GetRequireMp() );
			break;
		case CSeparate::TYPE_NPC:
			drawFontf( g_GameDATA.m_hFONT[ FONT_NORMAL ], true, &rcDraw ,g_dwWHITE,DT_RIGHT,"%d", Separate.GetRequireMoney() );
			break;
		default:
			break;

		}		
	}
*/
	if(pCtrl = Find( "MATERIAL_00" ))
	{
		SetRect( &rcDraw,
			pCtrl->GetOffset().x,
			pCtrl->GetOffset().y + 2,
			pCtrl->GetOffset().x + pCtrl->GetWidth(),
			pCtrl->GetOffset().y + pCtrl->GetHeight() + 2);
		if( pCtrl2 = Find( "MATERIAL_01" ) )
		{
			iGapY = pCtrl2->GetPosition().y - pCtrl->GetPosition().y;
		}

	}
	if(pCtrl = Find( "MATERIAL_NUM_00" ))
	{
		SetRect( &rcDrawCount,
			pCtrl->GetOffset().x,
			pCtrl->GetOffset().y,
			pCtrl->GetOffset().x + pCtrl->GetWidth(),
			pCtrl->GetOffset().y + pCtrl->GetHeight() );
	}


	int j= 0;

	m_ResultItemSet = CSeparate::GetInstance().GetResultItemSet();

	std::vector< CSlot >::iterator iter;

	CSeparateDlgStateResult* pSeparateStateResult = CSeparateDlgStateResult::GetInstance();

	if(!pSeparateStateResult->GetStartSeparateState())
	{
		m_vecSingleString.clear();
	}
	else
	{

		if( pSeparateStateResult == NULL) return;

		if(pSeparateStateResult->GetViewNum() > 4)
		{
			iViewItem = -1;
		}
		else
		{
			iViewItem = pSeparateStateResult->GetViewNum();
		}




		for( int i = 0; i < CSeparate::GetInstance().GetResultCnt() - 1 && i <= iViewItem; i++)
		{
			m_OutputItemSlots[i].Draw();

			D3DXMatrixTranslation( &mat, (float)m_sPosition.x, (float)m_sPosition.y,0.0f);
			::setTransformSprite( mat );

			if( pIcon = m_OutputItemSlots[i].GetIcon() )
			{
				CSinglelineString sStrBuf;
				sStrBuf.set_color(g_dwBLACK);
				sStrBuf.set_format(DT_CENTER | DT_VCENTER);
				sStrBuf.set_string( pIcon->GetName() , rcDraw );
				sStrBuf.draw();

				if( sStrBuf.is_ellipsis() )
				{
					m_vecSingleString.push_back( sStrBuf );
				}			

				char Temp[125] = "";
				sprintf( Temp, "%d",CSeparate::GetInstance().GetOutputItemQuantity(i) );

				drawFont( g_GameDATA.m_hFONT[ FONT_NORMAL ], true, &rcDrawCount, g_dwWHITE, DT_CENTER , Temp );
			}
			rcDraw.top		+= iGapY;
			rcDraw.bottom	+= iGapY;
			rcDrawCount.top += iGapY;
			rcDrawCount.bottom += iGapY;

		}

	}
}