Files
Client/Server/ToolProject/GameDBTool/CharParty.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

162 lines
3.7 KiB
C++

// CharParty.cpp : 구현 파일입니다.
//
#include "stdafx.h"
#include "GameDBTool.h"
#include "CharParty.h"
#include "GameDBTool.h"
#include "GameDBToolDlg.h"
#include ".\charparty.h"
// CCharParty 대화 상자입니다.
IMPLEMENT_DYNAMIC(CCharParty, CDialog)
CCharParty::CCharParty(CWnd* pParent /*=NULL*/)
: CDialog(CCharParty::IDD, pParent), m_PID(0)
, m_PIDOut(_T(""))
{
memset(&m_PartyInfo, 0, sizeof(PARTY_INFO));
}
CCharParty::~CCharParty()
{
}
void CCharParty::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_PID, m_PIDOut);
DDX_Control(pDX, IDC_PARTY_LIST, m_PartyList);
}
BEGIN_MESSAGE_MAP(CCharParty, CDialog)
ON_BN_CLICKED(IDC_PARTY_LOAD, OnBnClickedPartyLoad)
ON_BN_CLICKED(IDC_PARTY_DELETE, OnBnClickedPartyDelete)
ON_BN_CLICKED(IDC_PARTY_DELETEMEM, OnBnClickedPartyDeletemem)
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
BOOL CCharParty::OnInitDialog()
{
CDialog::OnInitDialog();
m_PartyList.SetColumn();
CCharParty::OnBnClickedPartyLoad();
return TRUE;
}
void CCharParty::OnBnClickedPartyLoad()
{
CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp();
CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd;
PARTY_DB_INFO partyDBInfo;
if(!DBComponent::GameDB::GetPartyInfo(CDBSingleObject::GetInstance(), m_PID, &partyDBInfo))
{
pDlgWnd->m_Log.LogPrint("[파티] 파티 정보 읽기중에 오류가 발생. %s", CDBSingleObject::GetInstance().GetErrorString());
}
m_PartyInfo = partyDBInfo.PartyInfo;
m_PIDOut.Format("%d", m_PID);
m_PartyList.AddPartyRows(&m_PartyInfo);
UpdateData(FALSE);
}
void CCharParty::OnBnClickedPartyDelete()
{
UpdateData();
CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp();
CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd;
PARTY_DB_INFO partyDBInfo;
partyDBInfo.PartyInfo = m_PartyInfo;
if(!DBComponent::GameDB::DeleteParty(CDBSingleObject::GetInstance(), &partyDBInfo, m_PID))
{
pDlgWnd->m_Log.LogPrint("[파티] 파티 삭제중에 오류가 발생. %s", CDBSingleObject::GetInstance().GetErrorString());
}
else
{
pDlgWnd->m_Log.LogPrint("[파티] 파티 삭제 성공. %d", m_PID);
pDlgWnd->UpdateCharTable();
m_PID = 0;
memset(&m_PartyInfo, 0, sizeof(PARTY_INFO));
}
CCharParty::OnBnClickedPartyLoad();
UpdateData(FALSE);
}
void CCharParty::OnBnClickedPartyDeletemem()
{
/* UpdateData();
CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp();
CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd;
CDBSingleObject *lpDB = pDlgWnd->m_pDB;
DWORD CID = 0;
char strCID[100] = "";
POSITION Pos;
int Index;
Pos = m_PartyList.GetFirstSelectedItemPosition();
if(Pos != NULL)
{
Index = m_PartyList.GetNextSelectedItem(Pos);
if(m_PartyList.GetItemText(Index, 0, strCID, 256))
{
CID = atoi(strCID);
if(!DBComponent::GameDB::DeletePartyMember(CDBSingleObject::GetInstance(), m_PID, &m_PartyInfo, CID)) // 업데이트 될 m_PartyInfo여야 함
{
pDlgWnd->m_Log.LogPrint("[파티] 멤버 삭제 실패 %d : %s", CID, CDBSingleObject::GetInstance().GetErrorString());
}
else
{
pDlgWnd->m_Log.LogPrint("[파티] 멤버 삭제 완료 %d", CID);
}
}
}
CCharParty::OnBnClickedPartyLoad();
UpdateData(FALSE);
*/
}
HBRUSH CCharParty::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 여기서 DC의 특성을 변경합니다.
HBRUSH m_hBrush;
m_hBrush = CreateSolidBrush(RGB( 255, 169, 128));
switch( nCtlColor ){
case CTLCOLOR_DLG:
pDC->SetBkColor(RGB( 255, 255, 255));
pDC->SetTextColor(RGB( 0, 0, 0));
return m_hBrush;
break;
case CTLCOLOR_STATIC:
pDC->SetBkColor(RGB( 255, 169, 128));
pDC->SetTextColor(RGB( 0, 0, 0));
return m_hBrush;
break;
default:
return hbr;
break;
}
}