184 lines
4.8 KiB
C++
184 lines
4.8 KiB
C++
|
|
|
|
|
|
#ifdef _PARTY_RENEWAL_
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "KUIControlStatic.h"
|
|
#include "KUIControlGauge.h"
|
|
#include "KUIControlEdit.h"
|
|
#include "KUIControlButton.h"
|
|
|
|
#include "SGameManager.h"
|
|
#include "SGameMessage.h"
|
|
#include "SGameMessageUI.h"
|
|
#include "SUIPartyWndBase.h"
|
|
#include "SUIPartyWndDungeonRaid.h"
|
|
#include "SUIDisplayInfo.h"
|
|
|
|
#include "SUISysMsgDefine.h"
|
|
#include "XStringUtil.h"
|
|
#include "SStringDB.h"
|
|
#include "SJobDB.h"
|
|
#include "SItemDB.h"
|
|
#include "SGameOption.h"
|
|
#include "SPlayerInfoMgr.h"
|
|
#include "SMessengerMgr.h"
|
|
#include "Util.h"
|
|
#include "SChatType.h"
|
|
#include "SGameAvatarEx.h"
|
|
#include "SGame.h"
|
|
#include "SCreatureDB.h"
|
|
#include "ErrorCode.h" // sonador 3.5.1 던전 시즈 레벨 제한
|
|
|
|
#include "XSimpleProfiler.h"
|
|
|
|
#include "KFileManager.h"
|
|
|
|
#include "SUIPartyStateSetWnd.h"
|
|
#include "IHuntaHolicSystem.h" // #2.1.2.11.1
|
|
// 2010.08.31 - prodongi
|
|
#include "SSummonSlotMgr.h"
|
|
#include "SUIUtil.h"
|
|
#include "SGameCreature.h"
|
|
|
|
|
|
// 2011.05.17 - servantes
|
|
SUIPartyWndDungeonRaid::~SUIPartyWndDungeonRaid()
|
|
{
|
|
GetGameOption().SetPartyX( GetRect().left );
|
|
GetGameOption().SetPartyY( GetRect().top );
|
|
}
|
|
|
|
void SUIPartyWndDungeonRaid::OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd )
|
|
{
|
|
SUIWnd::OnNotifyUIWindowOpen(bOpen);
|
|
|
|
if( bOpen )
|
|
{
|
|
m_pGameManager->PlaySound( "ui_popup_window01.wav" );
|
|
}
|
|
|
|
// GetGameOption().SetMessengerType( m_nTabType );
|
|
// GetGameOption().SetMessangerOpep( bOpen );
|
|
}
|
|
|
|
SUIWnd* SUIPartyWndDungeonRaid::CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID )
|
|
{
|
|
int k=0;
|
|
k=0;
|
|
SUIWnd::CreateWnd( szFile, pWndManager, kPos, nWindowID );
|
|
|
|
return this;
|
|
}
|
|
/*
|
|
bool SUIPartyWndDungeonRaid::InitData( bool bReload )
|
|
{
|
|
return SUIPartyDualWnd::InitData( bReload );
|
|
}
|
|
|
|
bool SUIPartyWndDungeonRaid::InitControls( KPoint kPos )
|
|
{
|
|
return SUIPartyDualWnd::InitControls( kPos );
|
|
}
|
|
*/
|
|
|
|
// #2.1.2.11.1
|
|
void* SUIPartyWndDungeonRaid::Perform( KID id, KArg& msg )
|
|
{
|
|
namespace hhi = huntaholic_interface;
|
|
|
|
if( id == hhi::id_disablePartyCommand )
|
|
{
|
|
KUIControlButton* button = dynamicCast< KUIControlButton* >( GetChild( "button_suboption" ) );
|
|
if( button )
|
|
button->Disable();
|
|
}
|
|
else if( id == hhi::id_enablePartyCommand )
|
|
{
|
|
KUIControlButton* button = dynamicCast< KUIControlButton* >( GetChild( "button_suboption" ) );
|
|
if( button )
|
|
button->Enable();
|
|
}
|
|
|
|
return (void*)1;
|
|
}
|
|
|
|
void SUIPartyWndDungeonRaid::PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam )
|
|
{
|
|
SUIPartyDualWnd::PumpUpMessage( lpszControlID, nMessage, lparam, wparam );
|
|
|
|
// 2011.05.17 - servantes 느려서 주석처리
|
|
// GetGameOption().SetPartyX( GetRect().left );
|
|
// GetGameOption().SetPartyY( GetRect().top );
|
|
}
|
|
|
|
void SUIPartyWndDungeonRaid::ProcMsgAtStatic( SGameMessage* pMsg )
|
|
{
|
|
XSTART_PROFILE( "SUIPartyWndDungeonRaid::ProcMsgAtStatic", 100 );
|
|
|
|
switch( pMsg->nType )
|
|
{
|
|
case IMSG_UI_RECT: // 2011.09.08 - servantes : 영역얻기
|
|
{
|
|
SIMSG_UI_RECT* pRMsg = (SIMSG_UI_RECT*)pMsg;
|
|
pRMsg->rt = GetRect();
|
|
pMsg->bUse = true;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
DWORD SUIPartyWndDungeonRaid::OnMouseMessage(DWORD dwMessage, int x, int y)
|
|
{
|
|
if( dwMessage == KRBUTTON_DOWN )
|
|
{
|
|
if( GetRect().IsInRect( x, y ) )
|
|
{
|
|
/*
|
|
KUIWnd* pWnd(NULL);
|
|
KUIWnd* pLogoutWnd(NULL);
|
|
for( int i = 0; i < c_nMaxLine; i++ )
|
|
{
|
|
pWnd = GetChild( CStringUtil::StringFormat( "inframe%02d", i ).c_str() );
|
|
pLogoutWnd = GetChild( CStringUtil::StringFormat( "select_logoff%02d", i ).c_str() );
|
|
if( pLogoutWnd && pLogoutWnd->IsShow() && pLogoutWnd->GetRect().IsInRect( x, y ) )
|
|
{
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PRIVATE_PARTY_MENU, false ) );
|
|
return NULL;
|
|
}
|
|
|
|
if( pWnd && pWnd->IsShow() && pWnd->GetRect().IsInRect( x, y ) )
|
|
{
|
|
m_pGameManager->ProcMsgAtStatic( &SIMSG_TOGGLE_UIWINDOW(SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PRIVATE_PARTY_MENU) );
|
|
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_UI_SEND_DATA(SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PARTY_STATE, "open_private_menu",
|
|
"player", i, number_t( pWnd->GetRect().right ), number_t( pWnd->GetRect().top )) );
|
|
return NULL;
|
|
}
|
|
|
|
pWnd = GetChild( CStringUtil::StringFormat( "click_check%02d", i ).c_str() );
|
|
if( pWnd && pWnd->IsShow() && pWnd->GetRect().IsInRect( x, y ) )
|
|
{
|
|
m_pGameManager->ProcMsgAtStatic( &SIMSG_TOGGLE_UIWINDOW(SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PRIVATE_PARTY_MENU) );
|
|
|
|
m_pGameManager->PostMsgAtDynamic( new SIMSG_UI_SEND_DATA(SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PARTY_STATE, "open_private_menu",
|
|
"creature", i, number_t( pWnd->GetRect().right ), number_t( pWnd->GetRect().top )) );
|
|
return NULL;
|
|
}
|
|
}
|
|
*/
|
|
}
|
|
}
|
|
|
|
//#ifdef _PARTY_RENEWAL_ // 2011.09.15 - servantes
|
|
SUIWnd::OnMouseMessage( dwMessage, x, y );
|
|
return KMR_NO_GET;
|
|
//#else
|
|
// return SUIWnd::OnMouseMessage( dwMessage, x, y );
|
|
//#endif
|
|
}
|
|
|
|
|
|
#endif |