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>
This commit is contained in:
217
Server/AdminTool/AdminToolClient/CharSocietyPage.cpp
Normal file
217
Server/AdminTool/AdminToolClient/CharSocietyPage.cpp
Normal file
@@ -0,0 +1,217 @@
|
||||
// CharSocietyPage.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "AdminToolClient.h"
|
||||
#include "CharSocietyPage.h"
|
||||
#include "PacketManager.h"
|
||||
#include "MainFrm.h"
|
||||
#include "GlobalFunctions.h"
|
||||
|
||||
#include <Community/FriendList.h>
|
||||
#include <Character/ModifyCharacter.h>
|
||||
|
||||
// CCharSocietyPage <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
IMPLEMENT_DYNAMIC(CCharSocietyPage, CPropertyPage)
|
||||
CCharSocietyPage::CCharSocietyPage()
|
||||
: CPropertyPage(CCharSocietyPage::IDD)
|
||||
, m_lpModifyCharacter(NULL)
|
||||
, m_dwDocKey(0)
|
||||
, m_dwPartyID(0)
|
||||
, m_dwGID(0)
|
||||
{
|
||||
}
|
||||
|
||||
CCharSocietyPage::~CCharSocietyPage()
|
||||
{
|
||||
}
|
||||
|
||||
void CCharSocietyPage::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CPropertyPage::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_CHARPARTYLIST, m_ctrlCharPartyList);
|
||||
DDX_Control(pDX, IDC_CHARFRIENDLIST, m_ctrlCharFriendList);
|
||||
DDX_Control(pDX, IDC_CHARBANLIST, m_ctrlCharBanList);
|
||||
DDX_Text(pDX, IDC_PARTY_ID, m_dwPartyID);
|
||||
DDX_Text(pDX, IDC_CHARACTERPAGE_GID, m_dwGID);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CCharSocietyPage, CPropertyPage)
|
||||
ON_WM_CONTEXTMENU()
|
||||
ON_COMMAND(ID_NEWDOC_CHARSEARCH, OnNewdocCharsearch)
|
||||
ON_BN_CLICKED(IDC_PARTYPAGE_PARTYCLIP_BTN, OnBnClickedPartypagePartyclipBtn)
|
||||
ON_BN_CLICKED(IDC_PARTYPAGE_BANCLIP_BTN, OnBnClickedPartypageBanclipBtn)
|
||||
ON_BN_CLICKED(IDC_PARTYPAGE_FRICLIP_BTN, OnBnClickedPartypageFriclipBtn)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CCharSocietyPage <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
BOOL CCharSocietyPage::OnInitDialog()
|
||||
{
|
||||
CPropertyPage::OnInitDialog();
|
||||
|
||||
m_ctrlCharPartyList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
||||
m_ctrlCharFriendList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
||||
m_ctrlCharBanList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
||||
|
||||
m_ctrlCharPartyList.InsertColumn(0, _T("CID"), LVCFMT_LEFT, 95);
|
||||
m_ctrlCharPartyList.InsertColumn(1, GetLocalString("CHAR_NAME"), LVCFMT_LEFT, 130);
|
||||
|
||||
m_ctrlCharFriendList.InsertColumn(0, _T("CID"), LVCFMT_LEFT, 95);
|
||||
m_ctrlCharFriendList.InsertColumn(1, GetLocalString("CHAR_NAME"), LVCFMT_LEFT, 130);
|
||||
|
||||
m_ctrlCharBanList.InsertColumn(0, _T("CID"), LVCFMT_LEFT, 95);
|
||||
m_ctrlCharBanList.InsertColumn(1, GetLocalString("CHAR_NAME"), LVCFMT_LEFT, 130);
|
||||
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_01, "IDC_SOCIETYPAGE_01");
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_02, "IDC_SOCIETYPAGE_02");
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_03, "IDC_SOCIETYPAGE_03");
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_04, "IDC_SOCIETYPAGE_04");
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_05, "IDC_SOCIETYPAGE_05");
|
||||
SetUIString(this->m_hWnd, IDC_SOCIETYPAGE_06, "IDC_SOCIETYPAGE_06");
|
||||
SetUIString(this->m_hWnd, IDC_PARTYPAGE_PARTYCLIP_BTN, "IDC_PARTYPAGE_PARTYCLIP_BTN");
|
||||
SetUIString(this->m_hWnd, IDC_PARTYPAGE_BANCLIP_BTN, "IDC_PARTYPAGE_BANCLIP_BTN");
|
||||
SetUIString(this->m_hWnd, IDC_PARTYPAGE_FRICLIP_BTN, "IDC_PARTYPAGE_FRICLIP_BTN");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool CCharSocietyPage::SetSocietyPageData( unsigned int dwDocKey, CModifyCharacter* lpModifyCharacter )
|
||||
{
|
||||
if(dwDocKey != 0)
|
||||
{
|
||||
m_lpModifyCharacter = lpModifyCharacter;
|
||||
m_dwDocKey = dwDocKey;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CCharSocietyPage::OnContextMenu(CWnd* pWnd, CPoint point)
|
||||
{
|
||||
bool bIsSel = false;
|
||||
|
||||
if((pWnd->GetSafeHwnd() == m_ctrlCharPartyList.GetSafeHwnd())
|
||||
&& (m_ctrlCharPartyList.GetSelectedCount() == 1))
|
||||
{
|
||||
bIsSel = true;
|
||||
m_lpSelList = &m_ctrlCharPartyList;
|
||||
}
|
||||
else if((pWnd->GetSafeHwnd() == m_ctrlCharBanList.GetSafeHwnd())
|
||||
&& (m_ctrlCharBanList.GetSelectedCount() == 1))
|
||||
{
|
||||
bIsSel = true;
|
||||
m_lpSelList = &m_ctrlCharBanList;
|
||||
}
|
||||
else if((pWnd->GetSafeHwnd() == m_ctrlCharFriendList.GetSafeHwnd())
|
||||
&& (m_ctrlCharFriendList.GetSelectedCount() == 1))
|
||||
{
|
||||
bIsSel = true;
|
||||
m_lpSelList = &m_ctrlCharFriendList;
|
||||
}
|
||||
|
||||
if(false == bIsSel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CMenu muTemp, *pContextMenu;
|
||||
muTemp.LoadMenu(IDR_CONTEXTMENU);
|
||||
pContextMenu = muTemp.GetSubMenu(4);
|
||||
pContextMenu->ModifyMenu(0, MF_STRING | MF_BYPOSITION, ID_NEWDOC_CHARSEARCH, GetLocalString("MENU_023"));
|
||||
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
|
||||
}
|
||||
|
||||
// <20><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> --------------------------------------------------------------
|
||||
class CMakeItList
|
||||
{
|
||||
public:
|
||||
CMakeItList(CListCtrl& ctrlFriendList)
|
||||
: m_FriendList(ctrlFriendList) { ; }
|
||||
|
||||
bool operator() (CFriendList::Rebind& rebind)
|
||||
{
|
||||
CString strCID;
|
||||
strCID.Format(_T("%d"), rebind.GetCID());
|
||||
|
||||
m_FriendList.InsertItem(0, strCID);
|
||||
m_FriendList.SetItemText(0, 1, rebind.GetCharacterName());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool operator() (CBanList::Rebind& rebind)
|
||||
{
|
||||
CString strCID;
|
||||
strCID.Format(_T("%d"), rebind.GetCID());
|
||||
|
||||
m_FriendList.InsertItem(0, strCID);
|
||||
m_FriendList.SetItemText(0, 1, rebind.GetCharacterName());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
CListCtrl& m_FriendList;
|
||||
};
|
||||
//---------------------------------------------------------------------------------------------
|
||||
|
||||
void CCharSocietyPage::MakeItFriendList()
|
||||
{
|
||||
if(NULL != m_lpModifyCharacter)
|
||||
{
|
||||
m_lpModifyCharacter->GetFriendList().Process(CMakeItList(m_ctrlCharFriendList));
|
||||
}
|
||||
}
|
||||
|
||||
void CCharSocietyPage::MakeItBanList()
|
||||
{
|
||||
if(NULL != m_lpModifyCharacter)
|
||||
{
|
||||
m_lpModifyCharacter->GetBanList().Process(CMakeItList(m_ctrlCharBanList));
|
||||
}
|
||||
}
|
||||
|
||||
void CCharSocietyPage::SetSocietyPage(CModifyCharacter* lpModifyCharacter)
|
||||
{
|
||||
m_ctrlCharFriendList.DeleteAllItems();
|
||||
m_ctrlCharBanList.DeleteAllItems();
|
||||
|
||||
if(NULL != lpModifyCharacter)
|
||||
{
|
||||
m_dwPartyID = lpModifyCharacter->GetPID();
|
||||
m_dwGID = lpModifyCharacter->GetGID();
|
||||
|
||||
MakeItFriendList();
|
||||
MakeItBanList();
|
||||
|
||||
UpdateData(false);
|
||||
}
|
||||
}
|
||||
|
||||
void CCharSocietyPage::OnNewdocCharsearch()
|
||||
{
|
||||
int nIndex = m_lpSelList->GetNextItem(-1, LVIS_SELECTED);
|
||||
|
||||
CString strCID = m_lpSelList->GetItemText(nIndex, 0);
|
||||
|
||||
CPacketMgr::GetInstance()->SendSearchID(
|
||||
PktAdminMgr::PktSearchID::SearchCID, m_lpModifyCharacter->GetServerGroup(), _ttoi(strCID));
|
||||
}
|
||||
|
||||
void CCharSocietyPage::OnBnClickedPartypagePartyclipBtn()
|
||||
{
|
||||
ClippingListCtrl(m_ctrlCharPartyList, 2, true);
|
||||
}
|
||||
|
||||
void CCharSocietyPage::OnBnClickedPartypageBanclipBtn()
|
||||
{
|
||||
ClippingListCtrl(m_ctrlCharBanList, 2, true);
|
||||
}
|
||||
|
||||
void CCharSocietyPage::OnBnClickedPartypageFriclipBtn()
|
||||
{
|
||||
ClippingListCtrl(m_ctrlCharFriendList, 2, true);
|
||||
}
|
||||
Reference in New Issue
Block a user