📄 mailmgr.cpp
字号:
// MailMgr.cpp: implementation of the CMailMgr class.
//
//////////////////////////////////////////////////////////////////////
#include "../stdafx.h"
#include "MailMgr.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//DB 单阁苞 烹脚窍绰 努贰胶
CMailMgr g_MailMgr;
CMailMgr::CMailMgr()
{
}
CMailMgr::~CMailMgr()
{
}
void CMailMgr::RecvReqMailList(const int cn,t_packet *p)//府胶飘 夸没阑 罐澜
{
// CMD_MAIL_REQUEST_LIST 甫 DB单阁栏肺
if(::ExistHe(p->u.Hwoa.rang.ReqestMailList.szName) > 0 )//弊荤恩捞 乐阑 版快 叼厚俊霸 夸没阑 茄促 // 030923 HK YGI
{
::QueuePacket(connections,DB_DEMON,p,1);
}
}
void CMailMgr::RecvMailListFromDBDEMON(const int cn,t_packet *p)//搬苞拱阑 DB俊霸 罐澜
{
MAILLISTRESULT *pMailResult = (LPMAILLISTRESULT)&p->u.Hwoa.rang.ReqestMailBodyResult;
const int iTargetCn = ::ExistHe(pMailResult->szName);
if(iTargetCn > 0 )//弊荤恩捞 乐阑 版快 罐篮 府胶飘甫 焊郴霖促 // 030923 HK YGI
{
::QueuePacket(connections,iTargetCn,p,1);
}
}
bool CMailMgr::Recv(const int cn, t_packet *p)
{ //< CSD-030324
CHARLIST *ch = ::CheckServerId( cn );
if( !ch ) {return false;}
MAILSEND *pMailSend = &p->u.Hwoa.rang.MailSend;
const int iTargetCn = ::ExistHe(pMailSend->szSender);
if(iTargetCn && cn == iTargetCn)//弊荤恩捞 乐阑 版快 罐篮 府胶飘甫 焊郴霖促
{
switch(pMailSend->iType)
{
case GAMEMASTER_MAIL:
if(!ch->IsCounselor())
{
return false;
}break;
case GUILD_MAIL:
if(!ch->GetGuildCode())
{
return false;
}break;
}
::QueuePacket(connections, DB_DEMON, p, 1);
}
/*
t_packet p;
if( type == CMD_SEND_MAIL_GUILD )
{
if( !ch->GetGuildCode() ) return;
// if( !ch->name_status.degree ) return; // 辨靛 殿鞭捞 0捞搁 皋老阑 给 焊辰促.
p.u.kein.game_to_login_send_mail.uni.guild_info.guild_code = ch->GetGuildCode();
p.u.kein.game_to_login_send_mail.uni.guild_info.degree = ch->name_status.guild_master;
}
else
{
strcpy( p.u.kein.game_to_login_send_mail.uni.recv_name, t->name );
}
strcpy( p.u.kein.game_to_login_send_mail.send_name, ch->Name );
strcpy( p.u.kein.game_to_login_send_mail.title, t->title );
strcpy( p.u.kein.game_to_login_send_mail.body, t->body );
p.h.header.size = sizeof( k_game_to_login_send_mail ) - 1000 + strlen( t->body );
*/
return true;
} //> CSD-030324
void CMailMgr::RecvDelete(const int cn,t_packet *p)//瘤快扁(府胶飘 锅龋甫 焊忱聪促.)
{
CHARLIST *ch = ::CheckServerId( cn );
if( !ch ) {return;}
::QueuePacket(connections, DB_DEMON, p, 1);
}
void CMailMgr::RecvRepair(const int cn,t_packet *p)//瘤快扁(府胶飘 锅龋甫 焊忱聪促.)
{
CHARLIST *ch = ::CheckServerId( cn );
if( !ch ) {return;}
::QueuePacket(connections, DB_DEMON, p, 1);
}
void CMailMgr::RecvRequestBody(const int cn,t_packet *p)
{
p->u.Hwoa.rang.ReqestMailBody.szName[MAX_NAME-1] = 0;
const int iSender = ::ExistHe(p->u.Hwoa.rang.ReqestMailBody.szName);
if( cn != iSender) {return;}
::QueuePacket(connections, DB_DEMON, p, 1);
}
void CMailMgr::RecvRequestBodyResult(const int cn,t_packet *p)
{
const int iTarget = ::ExistHe(p->u.Hwoa.rang.ReqestMailBodyResult.szReceiver);
if( -1 == iTarget ) {return;}
::QueuePacket(connections, iTarget, p, 1);
}
void SendGameToClientWhoSendMail( char *name )
{
int server_id = ExistHe( name );
if( server_id != -1 )
{
CallClient( server_id, CMD_MAIL_ALERT );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -