127 lines
2.9 KiB
C++
127 lines
2.9 KiB
C++
// ServerCtrlDlg.cpp : 实现文件
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "ServerCtrlDlg.h"
|
|
#include "ServiceUnits.h"
|
|
|
|
// CServerCtrlDlg 对话框
|
|
|
|
IMPLEMENT_DYNAMIC(CServerCtrlDlg, CDialog)
|
|
|
|
CServerCtrlDlg::CServerCtrlDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CServerCtrlDlg::IDD, pParent)
|
|
{
|
|
}
|
|
|
|
CServerCtrlDlg::~CServerCtrlDlg()
|
|
{
|
|
}
|
|
|
|
void CServerCtrlDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_EDIT_MSG_TEXT, m_EditMsgText);
|
|
DDX_Control(pDX, IDC_CHECK_SMT_EJECT, m_btnSMTEject);
|
|
DDX_Control(pDX, IDC_CHECK_SMT_TABLE_ROLL, m_btnSMTTableRoll);
|
|
DDX_Control(pDX, IDC_CHECK_SMT_CLOSE_GAME, m_btnSMTCloseGame);
|
|
}
|
|
|
|
BOOL CServerCtrlDlg::OnInitDialog()
|
|
{
|
|
__super::OnInitDialog();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CServerCtrlDlg, CDialog)
|
|
|
|
ON_BN_CLICKED(IDOK, &CServerCtrlDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_BTN_SEND_SYS_MSG, &CServerCtrlDlg::OnBnClickedBtnSendSysMsg)
|
|
ON_BN_CLICKED(IDC_BTN_MAINTAIN_SERVICE, &CServerCtrlDlg::OnBnClickedBtnMaintainService)
|
|
ON_BN_CLICKED(IDC_BTN_RECOVERY_SERVICE, &CServerCtrlDlg::OnBnClickedBtnRecoveryService)
|
|
ON_BN_CLICKED(IDC_BTN_CLEAR_LOCKER, &CServerCtrlDlg::OnBnClickedBtnClearLocker)
|
|
END_MESSAGE_MAP()
|
|
|
|
void CServerCtrlDlg::OnBnClickedOk()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
|
|
void CServerCtrlDlg::OnBnClickedBtnSendSysMsg()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
CString strMsg;
|
|
m_EditMsgText.GetWindowText(strMsg);
|
|
if ( strMsg.IsEmpty() )
|
|
{
|
|
AfxMessageBox("消息内容必须填写");
|
|
return;
|
|
}
|
|
|
|
CMD_CM_SystemMessage msg;
|
|
ZeroMemory(&msg, sizeof(CMD_CM_SystemMessage));
|
|
//构造数据
|
|
lstrcpyn(msg.szString, strMsg.GetBuffer(), CountArray(msg.szString));
|
|
|
|
if (m_btnSMTEject.GetCheck() == BST_CHECKED)
|
|
{
|
|
msg.wType |= SMT_EJECT;
|
|
}
|
|
|
|
if (m_btnSMTTableRoll.GetCheck() == BST_CHECKED)
|
|
{
|
|
msg.wType |= SMT_TABLE_ROLL;
|
|
}
|
|
|
|
if (m_btnSMTCloseGame.GetCheck() == BST_CHECKED)
|
|
{
|
|
msg.wType |= SMT_CLOSE_GAME;
|
|
}
|
|
|
|
if (CServiceUnits::g_pServiceUnits != nullptr)
|
|
{
|
|
//通知服务器维护
|
|
CServiceUnits::g_pServiceUnits->SendSystemMessage(&msg);
|
|
AfxMessageBox(TEXT("执行成功"));
|
|
}
|
|
}
|
|
|
|
void CServerCtrlDlg::OnBnClickedBtnMaintainService()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
|
//维护询问
|
|
LPCTSTR pszQuestion = TEXT("游戏服务器正在运行中,您确实要维护服务器吗?");
|
|
if (AfxMessageBox(pszQuestion, MB_YESNO | MB_DEFBUTTON2 | MB_ICONQUESTION) != IDYES)
|
|
{
|
|
return ;
|
|
}
|
|
|
|
if ( CServiceUnits::g_pServiceUnits!=nullptr )
|
|
{
|
|
CServiceUnits::g_pServiceUnits->MaintainService(TRUE);
|
|
CTraceService::TraceString(TEXT("服务器即将维护"), TraceLevel_Warning);
|
|
AfxMessageBox(TEXT("执行成功"));
|
|
}
|
|
}
|
|
|
|
void CServerCtrlDlg::OnBnClickedBtnRecoveryService()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
if (CServiceUnits::g_pServiceUnits != nullptr)
|
|
{
|
|
CServiceUnits::g_pServiceUnits->MaintainService(FALSE);
|
|
CTraceService::TraceString(TEXT("服务恢复"), TraceLevel_Warning);
|
|
AfxMessageBox(TEXT("执行成功"));
|
|
}
|
|
}
|
|
|
|
|
|
void CServerCtrlDlg::OnBnClickedBtnClearLocker()
|
|
{
|
|
|
|
}
|