161 lines
4.8 KiB
C++
161 lines
4.8 KiB
C++
|
|
#include "stdafx.h"
|
|
#include "SStringDB.h"
|
|
#include <toolkit/XStringUtil.h>
|
|
#include "SGameManager.h"
|
|
#include "SGameMessage.h"
|
|
//#include "SGameMessageUI.h"
|
|
#include "SMessengerMgr.h"
|
|
#include "SPlayerInfoMgr.h"
|
|
#include "KUIControlButton.h"
|
|
#include "SUIGuildSubMasterTabAuthority.h"
|
|
|
|
SUIGuildSubMasterTabAuthority::SUIGuildSubMasterTabAuthority( SGameManager * pGameManager ) :
|
|
SUIWnd( pGameManager )
|
|
{
|
|
|
|
}
|
|
|
|
SUIGuildSubMasterTabAuthority::~SUIGuildSubMasterTabAuthority()
|
|
{
|
|
Release();
|
|
}
|
|
|
|
void SUIGuildSubMasterTabAuthority::Release()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
bool SUIGuildSubMasterTabAuthority::InitControls( KPoint kPos )
|
|
{
|
|
KUIControlButton * pBtn = dynamicCast< KUIControlButton * >( GetChild( "button_master_01" ) );
|
|
pBtn->SetEnableColor( "<#ffffff>" );
|
|
pBtn->SetDisableColor( "<#a0a0a0>" );
|
|
|
|
pBtn = dynamicCast< KUIControlButton * >( GetChild( "button_master_02" ) );
|
|
pBtn->SetEnableColor( "<#ffffff>" );
|
|
pBtn->SetDisableColor( "<#a0a0a0>" );
|
|
|
|
|
|
return SUIWnd::InitControls( kPos );
|
|
}
|
|
|
|
void SUIGuildSubMasterTabAuthority::OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd)
|
|
{
|
|
if( bOpen )
|
|
{
|
|
}
|
|
else
|
|
{
|
|
// 길드장 인계 팝업 윈도우 닫기.
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE, false ) );
|
|
}
|
|
}
|
|
|
|
|
|
void SUIGuildSubMasterTabAuthority::ProcMsgAtStatic( SGameMessage* pMsg )
|
|
{
|
|
switch( pMsg->nType )
|
|
{
|
|
// 길드해체.
|
|
case IMSG_UI_GUILD_DESTROY :
|
|
|
|
/// 2011.05.16 ProcMsgAtStatic는 정적 입력 변수이다 - prodongi
|
|
//m_pGameManager->ProcMsgAtStatic( new SMSG_GUILD_COMMAND( SMSG_GUILD_COMMAND::GUILD_DESTROY ) );
|
|
m_pGameManager->ProcMsgAtStatic( &SMSG_GUILD_COMMAND( SMSG_GUILD_COMMAND::GUILD_DESTROY ) );
|
|
|
|
pMsg->bUse = true;
|
|
|
|
break;
|
|
|
|
case IMSG_UI_GUILD_UPGRADE:
|
|
|
|
m_pGameManager->PostMsgAtDynamic( new SMSG_GUILD_COMMAND( SMSG_GUILD_COMMAND::GUILD_UPGRADE ) );
|
|
|
|
pMsg->bUse = true;
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
void SUIGuildSubMasterTabAuthority::PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam )
|
|
{
|
|
switch( nMessage )
|
|
{
|
|
case KUI_MESSAGE::KBUTTON_CLICK :
|
|
|
|
// 길드장 인계.
|
|
if( !::_stricmp( lpszControlID, "button_master_01" ) )
|
|
{
|
|
// 길드마스터인가?
|
|
if( GetIsMaster() )
|
|
{
|
|
//m_pGameManager->PostMsgAtDynamic( new SIMSG_REQ_OPEN_MSGBOX( SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID::MSGBOX_GUILD_YES, "인계버튼" ) );
|
|
|
|
// 이전에 열려있을 경우를 대비해서 닫는다.
|
|
//m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE, false ) );
|
|
|
|
KUIWnd * pPosCtrl = GetChild( "pos_master_authority_01" );
|
|
KPoint pos( 100, 100 );
|
|
if( pPosCtrl )
|
|
{
|
|
pos.x = pPosCtrl->GetRect().left;
|
|
pos.y = pPosCtrl->GetRect().top;
|
|
}
|
|
|
|
//m_pGameManager->PostMsgAtDynamic( new SIMSG_UI_MOVE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE, pos.x, pos.y ) ); // 위치 지정.
|
|
//m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE, true ) ); // 팝업 Wnd 열기.
|
|
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_UI_MOVE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE, pos.x, pos.y ) ); // 위치 지정.
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_TOGGLE_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_GUILD_SUB_MASTER_PROMOTE ) ); // 팝업 Wnd 열기.
|
|
|
|
|
|
}
|
|
}
|
|
|
|
// 길드 해체.
|
|
if( !::_stricmp( lpszControlID, "button_master_02" ) )
|
|
{
|
|
// 길드마스터인가?
|
|
if( GetIsMaster() )
|
|
{
|
|
string strMsg( S(611) ); // string DB 필요.
|
|
CStringUtil::ReplacePhrase( strMsg, "#@guild_name@#", m_GuildMgr.GetGuildName() );
|
|
/// 2011.05.16 ProcMsgAtStatic는 정적 입력 변수이다 - prodongi
|
|
//m_pGameManager->ProcMsgAtStatic( new SIMSG_REQ_OPEN_MSGBOX( SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID::MSGBOX_GUILD_DESTROY, strMsg.c_str(), true ) );
|
|
m_pGameManager->ProcMsgAtStatic( &SIMSG_REQ_OPEN_MSGBOX( SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID::MSGBOX_GUILD_DESTROY, strMsg.c_str(), true ) );
|
|
}
|
|
}
|
|
|
|
if( !::_stricmp( lpszControlID, "button_master_03" ) )
|
|
{
|
|
if( GetIsMaster() )
|
|
{
|
|
string strMsg( SR( 758, "#@point@#", m_GuildMgr.GetGuildObjectif() ) );
|
|
m_pGameManager->ProcMsgAtStatic( &SIMSG_REQ_OPEN_MSGBOX( SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID::MSGBOX_GUILD_UPGRADE, strMsg.c_str(), true ) );
|
|
}
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
SUIWnd::PumpUpMessage( lpszControlID, nMessage, lparam, wparam );
|
|
}
|
|
|
|
// 길드마스터인가?
|
|
bool SUIGuildSubMasterTabAuthority::GetIsMaster()
|
|
{
|
|
SPlayerInfo player = m_PlayerInfoMgr.GetPlayerInfo();
|
|
SPlayerSlot * pPlayerSlot = this->m_GuildMgr.FindMember( player.GetName() );
|
|
|
|
if( pPlayerSlot )
|
|
{
|
|
if( pPlayerSlot->GetAuthority() == 7 )
|
|
return true;
|
|
}
|
|
return false;
|
|
} |