Files
Leviathan/Client/Game/game/Interface/Party/SUIPartyWndSiegeOther.cpp
T
2026-06-01 12:46:52 +02:00

177 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 "SUIPartyWndSiegeOther.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
SUIPartyWndSiegeOther::~SUIPartyWndSiegeOther()
{
GetGameOption().SetPartyX( GetRect().left );
GetGameOption().SetPartyY( GetRect().top );
}
void SUIPartyWndSiegeOther::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* SUIPartyWndSiegeOther::CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID )
{
int k=0;
SUIPartyDualWnd::CreateWnd( szFile, pWndManager, kPos, nWindowID );
return this;
}
/*
bool SUIPartyWndSiegeOther::InitData( bool bReload )
{
return SUIPartyDualWnd::InitData( bReload );
}
bool SUIPartyWndSiegeOther::InitControls( KPoint kPos )
{
return SUIPartyDualWnd::InitControls( kPos );
}
*/
// #2.1.2.11.1
void* SUIPartyWndSiegeOther::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 SUIPartyWndSiegeOther::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 SUIPartyWndSiegeOther::ProcMsgAtStatic( SGameMessage* pMsg )
{
XSTART_PROFILE( "SUIPartyWndSiegeOther::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 SUIPartyWndSiegeOther::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