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>
155 lines
4.6 KiB
C++
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();
|
|
} |