Files
Client/Server/AdminTool/AdminToolClient/UnifiedCharInfoDlg.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

155 lines
4.6 KiB
C++

// CUnifiedCharInfoDlg.cpp : 구현 파일입니다.
//
#include "stdafx.h"
#include "AdminToolClient.h"
#include "UnifiedCharInfoDlg.h"
#include "GlobalFunctions.h"
#include "PacketManager.h"
#include "CharacterDoc.h"
#include "DetailCharInfo.h"
#include "WindowMgr.h"
// CUnifiedCharInfoDlg 대화 상자입니다.
IMPLEMENT_DYNAMIC(CUnifiedCharInfoDlg, CDialog)
CUnifiedCharInfoDlg::CUnifiedCharInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUnifiedCharInfoDlg::IDD, pParent)
{
INSERT_WINDOW(IDD_UNIFIEDCHARINFODLG, reinterpret_cast<CWnd*>(this));
}
CUnifiedCharInfoDlg::~CUnifiedCharInfoDlg()
{
ERASE_WINDOW(IDD_UNIFIEDCHARINFODLG);
}
void CUnifiedCharInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_UCI_SERVERGROUP_CB, m_ctrlServerGroupCb);
DDX_Control(pDX, IDC_UCI_OLDGROUPINDEX_CB, m_ctrlOldGroupIndexCb);
DDX_Control(pDX, IDC_UCI_SEARCHTYPE_CB, m_ctrlSearchTypeCb);
DDX_Control(pDX, IDC_UCI_UNIFIEDCHAR_LIST, m_ctrlUnifiedCharList);
}
BEGIN_MESSAGE_MAP(CUnifiedCharInfoDlg, CDialog)
ON_BN_CLICKED(IDC_UCI_SEARCH_BTN, OnBnClickedUciSearchBtn)
ON_NOTIFY(NM_DBLCLK, IDC_UCI_UNIFIEDCHAR_LIST, OnNMDblclkUciUnifiedcharList)
END_MESSAGE_MAP()
// CUnifiedCharInfoDlg 메시지 처리기입니다.
BOOL CUnifiedCharInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString strInsertString;
for(int nIndex = 0; nIndex < 11; ++nIndex)
{
strInsertString.Format("%d", nIndex);
m_ctrlOldGroupIndexCb.InsertString(nIndex, strInsertString);
}
m_ctrlSearchTypeCb.InsertString(0, GetLocalString("ACCOUNT"));
m_ctrlSearchTypeCb.InsertString(1, "UID");
ServerGroupComboSet(m_ctrlServerGroupCb);
m_ctrlUnifiedCharList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
m_ctrlUnifiedCharList.InsertColumn(0, "UID", LVCFMT_LEFT, 80);
m_ctrlUnifiedCharList.InsertColumn(1, GetLocalString("ADDED_STRING_001"), LVCFMT_LEFT, 130);
m_ctrlUnifiedCharList.InsertColumn(2, GetLocalString("ADDED_STRING_003"), LVCFMT_LEFT, 100);
m_ctrlUnifiedCharList.InsertColumn(3, GetLocalString("ADDED_STRING_004"), LVCFMT_LEFT, 100);
m_ctrlUnifiedCharList.InsertColumn(4, GetLocalString("ADDED_STRING_005"), LVCFMT_LEFT, 120);
SetWindowText(GetLocalString("ADDED_STRING_006"));
SetUIString(this->m_hWnd, IDC_UCI_GROUP_STATIC, "SERVER_GROUP");
SetUIString(this->m_hWnd, IDC_UCI_PREGROUP_STATIC, "ADDED_STRING_001");
SetUIString(this->m_hWnd, IDC_UCI_SEARCHTYPE_STATIC, "ADDED_STRING_007");
SetUIString(this->m_hWnd, IDC_UCI_SEARCHVALUE_STATIC, "ADDED_STRING_008");
SetUIString(this->m_hWnd, IDC_UCI_SEARCH_BTN, "ADDED_STRING_009");
SetUIString(this->m_hWnd, IDC_UCI_TIP_STATIC, "ADDED_STRING_010");
return TRUE;
}
void CUnifiedCharInfoDlg::OnBnClickedUciSearchBtn()
{
if (CB_ERR == m_ctrlServerGroupCb.GetCurSel())
{
Report(GetLocalString("ADDED_STRING_011"), CAUTION);
return;
}
CString strGroupName;
unsigned long dwServerGroup = 0;
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
unsigned int nOldServerGroup = (unsigned int)m_ctrlOldGroupIndexCb.GetCurSel();
if (CB_ERR == nOldServerGroup)
{
Report(GetLocalString("ADDED_STRING_011"), CAUTION);
return;
}
unsigned char cPktType =
m_ctrlSearchTypeCb.GetCurSel() == 0
? PktAdminMgr::PktUnifiedCharInfo::SEARCH_ACCOUNT : PktAdminMgr::PktUnifiedCharInfo::SEARCH_UID;
if (CB_ERR == m_ctrlSearchTypeCb.GetCurSel())
{
Report(GetLocalString("ADDED_STRING_012"), CAUTION);
return;
}
if (PktAdminMgr::PktUnifiedCharInfo::SEARCH_ACCOUNT == cPktType)
{
Report(GetLocalString("ADDED_STRING_031"), GENERAL);
return;
}
char szSearchValue[256];
GetDlgItemText(IDC_UCI_SEARCHVALUE_EDIT, szSearchValue, 256);
if (NULL == szSearchValue)
{
Report(GetLocalString("ADDED_STRING_013"), CAUTION);
return;
}
m_ctrlUnifiedCharList.DeleteAllItems();
CPacketMgr::GetInstance()->SendPktUnifiedCharInfo(cPktType, dwServerGroup, nOldServerGroup, szSearchValue);
// 상세 캐릭터 정보 요청할 때 필요
m_dwLastReqServerGroup = dwServerGroup;
}
void CUnifiedCharInfoDlg::OnNMDblclkUciUnifiedcharList(NMHDR *pNMHDR, LRESULT *pResult)
{
if (1 == m_ctrlUnifiedCharList.GetSelectedCount())
{
int nIndex = m_ctrlUnifiedCharList.GetNextItem(-1, LVIS_SELECTED);
if (-1 != nIndex)
{
char szValue[256];
m_ctrlUnifiedCharList.GetItemText(nIndex, 3, szValue, sizeof(szValue));
CPacketMgr::GetInstance()->SendPktDetailCharInfo(
m_dwLastReqServerGroup, (unsigned long)(atol(szValue)));
CDetailCharInfo dlg;
dlg.DoModal();
}
}
*pResult = 0;
}
void CUnifiedCharInfoDlg::OnOK()
{
//CDialog::OnOK();
}