#include "stdafx.h" #include "SUIPartyCreateWnd.h" #include "SGameManager.h" #include "SGameInterface.h" #include "SPlayerInfoMgr.h" #include "KUIControlButton.h" #include "KUIControlEdit.h" bool SUIPartyCreate::InitControls( KPoint kPos ) { return SUIWnd::InitControls( kPos ); } bool SUIPartyCreate::InitData( bool bReload /*= false*/ ) { SetCustomMovingRect( KRect( 0, 0, 350, 24 ) ); KUIControlCheck * pCheck00 = dynamicCast(GetChild( "button_check_00" )); KUIControlCheck * pCheck01 = dynamicCast(GetChild( "button_check_01" )); KUIControlCheck * pCheck02 = dynamicCast(GetChild( "button_check_02" )); pCheck00->SetCheck( true ); pCheck01->SetCheck( false ); pCheck02->SetCheck( false ); return SUIWnd::InitData( bReload ); } void SUIPartyCreate::PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ) { static bool bCheck00 = false; static bool bCheck01 = false; static bool bCheck02 = false; switch( nMessage ) { case KUI_MESSAGE::KBUTTON_CLICK: { if( ::_stricmp( lpszControlID, "button_close" ) == 0 || ::_stricmp( lpszControlID, "button_cancel" ) == 0 ) { m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PARTY_CREATE, false ) ); } else if( ::_stricmp( lpszControlID, "button_ok" ) == 0 ) { KUIControlEdit * pEdit = dynamicCast(GetChild( "edit_party" )); if( !pEdit ) return; SMSG_PARTY_COMMAND* pMsg = new SMSG_PARTY_COMMAND; pMsg->mode = SMSG_PARTY_COMMAND::PARTY_CREATE; // pMsg->strName = "party"; pMsg->strName = pEdit->GetText(); //파티 이름을 넣어야 함. if( pMsg->strName.length() <= 0 ) { SAFE_DELETE( pMsg ); return; } m_pGameManager->PostMsgAtDynamic( pMsg ); //닫기 m_pGameManager->PostMsgAtDynamic( new SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::UIWINDOW_PARTY_CREATE, false ) ); } } break; case KUI_MESSAGE::KCHECK_CHANGE: { m_pGameManager->StartSound( "ui_button_click.wav" ); KUIControlCheck * pCheck00 = dynamicCast(GetChild( "button_check_00" )); KUIControlCheck * pCheck01 = dynamicCast(GetChild( "button_check_01" )); KUIControlCheck * pCheck02 = dynamicCast(GetChild( "button_check_02" )); if( !pCheck00 || !pCheck01 || !pCheck02 ) return; //각자 if( ::_stricmp( lpszControlID, "button_check_00" ) == 0 ) { if( pCheck00->GetCheck() ) { pCheck01->SetCheck( false ); pCheck02->SetCheck( false ); bCheck00 = true; bCheck01 = false; bCheck02 = false; } else { if (bCheck00) pCheck00->SetCheck( true ); } } //순차 else if( ::_stricmp( lpszControlID, "button_check_01" ) == 0 ) { if( pCheck01->GetCheck() ) { pCheck00->SetCheck( false ); pCheck02->SetCheck( false ); bCheck00 = false; bCheck01 = true; bCheck02 = false; } else { if (bCheck01) pCheck01->SetCheck( true ); } } //랜덤 else if( ::_stricmp( lpszControlID, "button_check_02" ) == 0 ) { if( pCheck02->GetCheck() ) { pCheck00->SetCheck( false ); pCheck01->SetCheck( false ); bCheck00 = false; bCheck01 = false; bCheck02 = true; } else { if (bCheck02) pCheck02->SetCheck( true ); } } } break; case KUI_MESSAGE::KGENWND_MOVE: // 윈도우 이동 { LimitMoveWnd(); // 게임 외부로 나가지 못하게 제한 } break; } SUIWnd::PumpUpMessage( lpszControlID, nMessage, lparam, wparam ); } void SUIPartyCreate::ProcMsgAtStatic( SGameMessage* pMsg ) { } void SUIPartyCreate::OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd/* = true*/ ) { if( bOpen ) m_pGameManager->StartSound( "ui_popup_window01.wav" ); else m_pGameManager->StartSound( "ui_button_click.wav" ); }