#include "SunClientPrecompiledHeader.h" #ifdef _NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER #else #include "InterfaceManager.h" #include "uiGuildAllianceRequest/uiGuildAllianceRequest.h" #include "GlobalFunc.h" #include "BattleScene.h" #include "uiPartyMan/uiPartyMan.h" #include "uiBattleZoneMan/uiBattleZoneMan.h" const DWORD c_dw_Delay_Time = 11000; const DWORD c_Str_Interval = 11; WzID uiGuildAllianceRequest::m_wzID[DLGPOS_MAX] = { StrToWzID("T999") , //eDIALOG_TXT_TITLE StrToWzID("TI00") , //eDIALOG_BTN_OK StrToWzID("TI01") , //eDIALOG_BTN_CANCLE StrToWzID("L000") , //eDIALOG_LIST_MAIN }; uiGuildAllianceRequest::uiGuildAllianceRequest(InterfaceManager * pUIMan) : uiBase(pUIMan) { m_szGuildName[0] = '0'; } uiGuildAllianceRequest::~uiGuildAllianceRequest() { } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::Init(CDrawBase* pDrawBase) { uiBase::Init(pDrawBase); m_bShow = false; m_pTitleStatic = (CCtrlStaticWZ*) getControl(eDIALOG_TXT_TITLE); m_pTitleStatic->SetTextID(NULL); m_pList = ( CCtrlListWZ * ) getControl(eDIALOG_LIST_MAIN); m_pOKBtn = (CCtrlImageStaticWZ*) getControl(eDIALOG_BTN_OK); m_pOKBtn->SetTextID(NULL); m_pCancelBtn = (CCtrlImageStaticWZ*) getControl(eDIALOG_BTN_CANCLE); m_pCancelBtn->SetTextID(NULL); m_iDelayTime = c_dw_Delay_Time;//´ÙÀ̾ó·Î±× ³ëÃ⠽ð£(11ÃÊ). } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::Release() { } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::OnUpdateSolarDialog() { if( ! m_bShow ) { ShowDialog(FALSE); } } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::OnRenderSolarDialog() { if(g_pHero) AddFormatText(); } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::Process(DWORD dwTick) { if((DWORD)m_iDelayTime > dwTick && m_bShow) { m_iDelayTime -= dwTick; if( m_iDelayTime <= 1000 ) { m_bShow = false; MSG_CG_GUILD_RELATION_ANSWER_SYN SendPacket; SendPacket.m_eAnswerType = eGUILD_ANSWER_NO; SendPacket.m_eRelationType = m_eGuildRelation; SendPacket.m_RequestUserKey = m_iCharGUID; GlobalFunc::SendPacket(CI_GAMESERVERIDX, &SendPacket, sizeof(SendPacket)); } } } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::OnShowWindow(BOOL val) { if( val ) { m_iDelayTime = c_dw_Delay_Time; MoveCenter(); m_bShow = true; } else { m_bShow = false; } } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::MessageProc(SI_MESSAGE * pMessage) { switch ( pMessage->eResultMsg ) { case RT_MSG_LBUTTONCLICK: { switch ( getControlIDToPos( pMessage->dwCtrlID ) ) { case eDIALOG_BTN_OK: { m_bShow = false; MSG_CG_GUILD_RELATION_ANSWER_SYN SendPacket; SendPacket.m_eAnswerType = eGUILD_ANSWER_YES; SendPacket.m_eRelationType = m_eGuildRelation; SendPacket.m_RequestUserKey = m_iCharGUID; GlobalFunc::SendPacket(CI_GAMESERVERIDX, &SendPacket, sizeof(SendPacket)); } break; case eDIALOG_BTN_CANCLE: { m_bShow = false; MSG_CG_GUILD_RELATION_ANSWER_SYN SendPacket; SendPacket.m_eAnswerType = eGUILD_ANSWER_NO; SendPacket.m_eRelationType = m_eGuildRelation; SendPacket.m_RequestUserKey = m_iCharGUID; GlobalFunc::SendPacket(CI_GAMESERVERIDX, &SendPacket, sizeof(SendPacket)); } break; } } break; } } //------------------------------------------------------------------------------ /** */ void uiGuildAllianceRequest::SetGuildName(TCHAR* szGuildName) { if('0' != szGuildName[0]) StrnCopy(m_szGuildName, szGuildName, MAX_GUILDNAME_LENGTH); } void uiGuildAllianceRequest::SetGuildRelationType(eGUILD_RELATION eGuildRelation) { m_eGuildRelation = eGuildRelation; } void uiGuildAllianceRequest::SetCharGUID(CHARGUID iCharGUID) { m_iCharGUID = iCharGUID; } void uiGuildAllianceRequest::AddFormatText() { this->GetDrawBase()->x_pManagerTextOut->StartToUseFont(_T("mn12")); RECT rt = m_pList->GetSizeRect(); RECT rtTitle = m_pTitleStatic->GetSizeRect(); RECT rtOk = m_pOKBtn->GetSizeRect(); RECT rtCancel = m_pCancelBtn->GetSizeRect(); rtOk.top += 8; rtCancel.top += 8; rt.top -= 6; TCHAR szResult[INTERFACE_STRING_LENGTH + 1] = {0,}; TCHAR szOK[INTERFACE_STRING_LENGTH + 1] = {0,}; TCHAR szCancel[INTERFACE_STRING_LENGTH + 1] = {0,}; TCHAR szTitle[INTERFACE_STRING_LENGTH + 1] = {0,}; TCHAR szMessage[INTERFACE_STRING_LENGTH + 1] = {0,}; TCHAR szFinal[INTERFACE_STRING_LENGTH + 1] = {0,}; //1387 µ¿¸Í½Åû È®ÀÎ g_InterfaceManager.GetInterfaceString(1387, szTitle, INTERFACE_STRING_LENGTH); //1167 %s ±æµå·Î ºÎÅÍ µ¿¸Í ±ÇÀ¯ ¸Þ¼¼Áö°¡ µµÂøÇß½À´Ï´Ù. ½Â³«ÇϽðڽÀ´Ï±î? - %d g_InterfaceManager.GetInterfaceString(1167, szMessage, INTERFACE_STRING_LENGTH); //21107 µ¿¸Í ¼ö¶ô g_InterfaceManager.GetInterfaceString(21107, szOK); //9011 µ¿¸Í °ÅÀý g_InterfaceManager.GetInterfaceString(9011, szCancel); if('0' == m_szGuildName[0]) { assert(!"±æµå³×ÀÓ ÀÌ»óÇÏ´Ù"); } if( g_pHero) Snprintf(szResult , INTERFACE_STRING_LENGTH -1 , szMessage , m_szGuildName, (int)(m_iDelayTime/1000)); std::vector vstr; int cutLen = rt.right - rt.left - 14; GlobalFunc::ProcessWordWrapByFontSize( &vstr, szResult, StrToWzID(_T("mn12")), INTERFACE_STRING_LENGTH, cutLen ); SIZE FontSize; this->GetDrawBase()->x_pManagerTextOut->GetTextExtentPoint(_T("1"), 1, &FontSize); int iExtraInfoHeight = 0; iExtraInfoHeight += FontSize.cy+8; if (szResult && szOK && szCancel) { for (size_t i=0; i(vstr[i].c_str()); if (pStr) { this->GetDrawBase()->x_pManagerTextOut->DrawText( pStr, &rcResult, WzColor_RGBA(235,224,200,255 ), WzColor_RGBA(0,0,0,0), TP_HCENTER); } } this->GetDrawBase()->x_pManagerTextOut->DrawText( szTitle, &rtTitle, WzColor_RGBA(255, 133, 50, 255), WzColor_RGBA(0,0,0,0), TP_HCENTER); this->GetDrawBase()->x_pManagerTextOut->DrawText( szOK, &rtOk, WzColor_RGBA(255, 133, 50, 255), WzColor_RGBA(0,0,0,0), TP_HCENTER); this->GetDrawBase()->x_pManagerTextOut->DrawText( szCancel, &rtCancel, WzColor_RGBA(255, 133, 50, 255), WzColor_RGBA(0,0,0,0), TP_HCENTER); } this->GetDrawBase()->x_pManagerTextOut->EndUseFont(); } #endif //_NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER