⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailmgr.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	m_iNowViewType = iViewType;
	m_iNowViewPageNo = pMLR->iWantViewPage;
	CallSmallMenu(MN_MAIL_MENU);
//	SMenu[MN_MAIL_MENU].bActive = true;
}

void CMailMgr::SendReqOtherPage(const int iPageFlag)
{
	switch(iPageFlag )
	{
	case SCROLL_UP://焊绊乐绰 弥绊 牢郸胶 困甫 夸没
		{
			SendReqMailList(m_iNowViewType, GetNowViewPageNo()+1);//牢郸胶 其捞瘤 荐
		}break;
	case SCROLL_DOWN://焊绊乐绰 付瘤阜 牢郸胶 酒贰甫 夸没
		{
			SendReqMailList(m_iNowViewType, GetNowViewPageNo()-1);//牢郸胶 其捞瘤 荐
		}break;
	}
}

void CMailMgr::SelectAll()
{
	for(int i = 0; MAX_MAIL_PAGE > i; i++)
	{
		SetSelected(i,true);
	}
}

void CMailMgr::SetTempMailType(const int iMailType)
{
	m_TempMailData.iType = iMailType;
}

void CMailMgr::SetTempMailReceiver(const char* szName)
{
	const int iNameLen = ::strlen(szName);
	if(iNameLen >= MAX_NAME)
	{
		return;
	}
	::strcpy(m_TempMailData.szReceiver,szName);
}

void CMailMgr::IncTempMailType()
{
	const int iMailType = GetTempMailType();
	switch(iMailType)
	{
	case NORMAL_MAIL:
		{
			if(Hero->GetGuildCode())
			{
				SetTempMailType(GUILD_MAIL);
			}
			else
			{
COMMENT			::AddCurrentStatusMessage( 250, 100, 100, "You Don't Have Guild");
			}
		}break;
	case GUILD_MAIL:
		{//霸烙 付胶磐 皋老捞 救登霸阐 肋 贸府
			if(Hero->IsCounselor())
			{
				SetTempMailType(GAMEMASTER_MAIL);
			}
			else
			{
				SetTempMailType(NORMAL_MAIL);
			}
		}break;
	case GAMEMASTER_MAIL:
		{
			SetTempMailType(NORMAL_MAIL);
		}break;
	case NORMAL_MAIL_REPLY:
	case GAMEMASTER_MAIL_REPLY:
		{//府敲扼捞 皋老篮 鸥涝捞 函窍瘤 臼嚼聪促.
		}break;
	default:
		{
			SetTempMailType(NORMAL_MAIL);
		}break;
	}
}
void CMailMgr::DecTempMailType()
{
	const int iMailType = GetTempMailType();
	switch(iMailType)
	{
	case NORMAL_MAIL:
		{
			if(Hero->IsCounselor())
			{
				SetTempMailType(GAMEMASTER_MAIL);
			}
			else
			{
				if(Hero->GetGuildCode())
				{
					SetTempMailType(GUILD_MAIL);
				}
				else
				{
					SetTempMailType(NORMAL_MAIL);
COMMENT				::AddCurrentStatusMessage( 250, 100, 100, "You Don't Have Guild");
				}				
			}
		}break;
	case GUILD_MAIL:
		{//霸烙 付胶磐 皋老捞 救登霸阐 肋 贸府
			SetTempMailType(NORMAL_MAIL);
		}break;
	case GAMEMASTER_MAIL:
		{
			if(Hero->GetGuildCode())
			{
				SetTempMailType(GUILD_MAIL);
			}
			else
			{
				SetTempMailType(NORMAL_MAIL);
COMMENT			::AddCurrentStatusMessage( 250, 100, 100, "You Don't Have Guild");
			}			
		}break;
	case NORMAL_MAIL_REPLY:
	case GAMEMASTER_MAIL_REPLY:
		{//府敲扼捞 皋老篮 鸥涝捞 函窍瘤 臼嚼聪促.
		}break;
	default:
		{
			SetTempMailType(NORMAL_MAIL);
		}break;
	}
}

const int CMailMgr::GetTempMailIndex()
{
	return m_TempMailData.iIndex;
}

const int CMailMgr::GetTempMailType()
{
	switch(m_TempMailData.iType)
	{
	case NORMAL_MAIL:
	case GUILD_MAIL:
	case GAMEMASTER_MAIL:
	case NORMAL_MAIL_REPLY:
	case GAMEMASTER_MAIL_REPLY:
		{
			return m_TempMailData.iType;
		}break;
	default:
		{
			return NORMAL_MAIL;
		}break;
	}
	
	return NORMAL_MAIL;
}

char* CMailMgr::GetTempMailSender()
{
//	return "拳尔惑快丛";
	return m_TempMailData.szSender;
}

char* CMailMgr::GetTempMailTitle()
{
//	return "皋老 力格捞贰夸~";
	return m_TempMailData.szTitle;
}

bool CMailMgr::GetTempMailDate(const bool bIsDetail,char *szTime)
{
	TIMESTAMP_STRUCT *pTS = &m_TempMailData.date;

	if(bIsDetail)
	{
		::sprintf(szTime,"%04d-%02d-%02d %02d:%02d:%02d",
			pTS->year,pTS->month,pTS->day,
			pTS->hour,pTS->minute,pTS->second);
	}
	else
	{
		::sprintf(szTime,"%02d-%02d-%02d",pTS->year%100,pTS->month,pTS->day);
	}
	return true;
}

char* CMailMgr::GetTempMailBody()
{
	return m_TempMailBody.szBody;
}


const int CMailMgr::GetMailIndex(const int iMailListIndex)
{
	if(!CheckIndex(iMailListIndex)){return 0;}
	return m_MailList[iMailListIndex].MailData.iIndex;
}

const bool CMailMgr::GetMailIsRead(const int iMailListIndex)
{
	if(!CheckIndex(iMailListIndex)){return 0;}
	return m_MailList[iMailListIndex].MailData.bIsRead;
}

const int CMailMgr::GetMailType(const int iMailListIndex)
{
	if(!CheckIndex(iMailListIndex)){return 0;}
	return m_MailList[iMailListIndex].MailData.iType;
}

const char* CMailMgr::GetMailSender(const int iMailListIndex)
{
//	return "拳尔惑快丛";
	if(!CheckIndex(iMailListIndex)){return "";}
	return m_MailList[iMailListIndex].MailData.szSender;
}

const char* CMailMgr::GetMailTitle(const int iMailListIndex)
{
//	return "皋老 力格捞贰夸~";
	if(!CheckIndex(iMailListIndex)){return "";}
	return m_MailList[iMailListIndex].MailData.szTitle;
}

const bool CMailMgr::GetMailDate(const int iMailListIndex, const bool bIsDetail, char* szTime)
{
//	return "03-03-03";
	::strcpy(szTime,"");
	if(!CheckIndex(iMailListIndex)){return false;}
	if(!GetMailIndex(iMailListIndex)){return false;}
	
	TIMESTAMP_STRUCT *pTS = &m_MailList[iMailListIndex].MailData.date;

	if(bIsDetail)
	{
		::sprintf(szTime,"%04d-%02d-%02d %02d:%02d:%02d",
			pTS->year,pTS->month,pTS->day,
			pTS->hour,pTS->minute,pTS->second);
//		SQLUSMALLINT   hour;
//      SQLUSMALLINT   minute;
//    SQLUSMALLINT   second;
	}
	else
	{
		::sprintf(szTime,"%02d-%02d-%02d",pTS->year%100,pTS->month,pTS->day);
	}
	return true;
}

const bool CMailMgr::IsSelected(const int iMailListIndex)
{
	if(!CheckIndex(iMailListIndex)){return 0;}
	return m_MailList[iMailListIndex].bIsSelect;
}

const bool CMailMgr::IsRead(const int iMailListIndex)
{
	if(!CheckIndex(iMailListIndex))	{return false;}
	return m_MailList[iMailListIndex].MailData.bIsRead;
}

void CMailMgr::SetSelected(const int iMailListIndex, const bool bIsSelect)
{
COMMENT	::AddCurrentStatusMessage( 250, 100, 100, "Set Check Button State");
	if(!CheckIndex(iMailListIndex))	{return;}
	if(!m_MailList[iMailListIndex].MailData.iIndex)
	{
COMMENT	::AddCurrentStatusMessage( 250, 100, 100, "There Is No Mail So You Can't Select!");
		m_MailList[iMailListIndex].bIsSelect = false;	
		return;
	}
	m_MailList[iMailListIndex].bIsSelect = bIsSelect;	
}

void CMailMgr::RecvAlert()
{
	::MP3(63);
	::AddCurrentStatusMessage( FONT_COLOR_WHITE, lan->OutputMessage(4,24));
	
	SetExistNotRead(true);
}

void CMailMgr::RecvSendResult(int cmd_type)
{
	switch( cmd_type )
	{
	case CMD_SEND_MAIL_OK : MP3( SN_SEND_MAIL );
							AddCurrentStatusMessage( 255, 0, 255, lan->OutputMessage(5,51) );//010215 lsw
							break;
	case CMD_SEND_MAIL_FAIL:MP3( SN_WARNING );
							AddCurrentStatusMessage( 255, 0, 0,lan->OutputMessage(5,52));//010215 lsw
							break;
	}
}

inline bool IsMailMenuOpen()
{
	return (	SMenu[MN_MAIL_MENU	].bActive ||
				SMenu[MN_MAIL_WRITE	].bActive ||
				SMenu[MN_MAIL_READ	].bActive);
}

void Call_MAIL_WRITE_MENU(const char* szTargetName, const bool bIsReply)//皋老 静扁 皋春 龋免
{
COMMENT	::AddCurrentStatusMessage( 250, 100, 100, "Call Mail Write Menu.");
	SetChatMode(CM_COMMAND);//020720 lsw
	
	::CallSmallMenu(MN_MAIL_WRITE);//郴何俊辑 俊叼飘 冠胶甫 努府绢 矫诺聪促.

	if(szTargetName)
	{
		EWndMgr.SetTxt(HWND_MAIL1,szTargetName);//努府绢等 捞饶肺 悸泼 秦具 窍扁 锭巩俊

		SMenu[MN_MAIL_WRITE].CheakType = 2;
		::SetFocus2(HWND_MAIL2);
	}
	else
	{
		SMenu[MN_MAIL_WRITE].CheakType = 0;
	}

	g_MailMgr.ClearTempData();

	if(bIsReply)
	{//翠厘捞搁
		switch(g_MailMgr.GetTempMailType())
		{
		case CMailMgr::GAMEMASTER_MAIL:
		case CMailMgr::GAMEMASTER_MAIL_REPLY:
			{
				g_MailMgr.SetTempMailType(CMailMgr::GAMEMASTER_MAIL_REPLY);
			}break;
		case CMailMgr::NORMAL_MAIL:
		case CMailMgr::GUILD_MAIL:
		case CMailMgr::NORMAL_MAIL_REPLY:
		default:
			{
				g_MailMgr.SetTempMailType(CMailMgr::NORMAL_MAIL_REPLY);
			}break;
		}

		if(Hero->IsCounselor())//郴啊 款康磊搁 葛电 翠厘篮 霸烙付胶磐 皋老肺 埃促
		{
			g_MailMgr.SetTempMailType(CMailMgr::GAMEMASTER_MAIL_REPLY);
		}
	}
	else
	{//老馆 皋老捞搁
		g_MailMgr.SetTempMailType(CMailMgr::NORMAL_MAIL);

		if(Hero->IsCounselor())//郴啊 款康磊搁 葛电 皋老篮 霸烙付胶磐 皋老肺 埃促
		{
			g_MailMgr.SetTempMailType(CMailMgr::GAMEMASTER_MAIL);
		}
	}
}

void RecvGuildMailDeleteResult( t_packet *p )
{
	int result = p->u.kein.default_char;
	switch( result )
	{
	case 0 : Kein_PutMessage( KM_FAIL, kein_GetMenuString(49) );
	}
}

void SendRegistFriend( const char *name )
{
	k_regist_friend data;
	data.nation = Hero->name_status.nation;
	strcpy( data.name1 , Hero->name );
	strcpy( data.name2, name );
	SendDirectDB( CMD_REGIST_FRIEND, &data, sizeof( k_regist_friend ) );
}

void RegistFriend(const char *szName)
{
	if(!szName || !::strlen(szName))
	{
COMMENT ::AddCurrentStatusMessage( 250, 100, 100, "RegistFriend() Name Is Wrong");
		return;
	}

	int ret = g_Menu_Variable.m_FriendGrup->SerchName( szName );
	if( ret != -1 )
	{
		Kein_PutMessage( KM_FAIL, kein_GetMenuString( 102 ) ); // 捞固 殿废茄 荤恩涝聪促.
	}
	else
	{
		SendRegistFriend( szName );		// 货肺 殿废
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -