public void CommandApplyReceiveAllMail(int netId) { var mailList = EM_Mail.s_instance.GetAllMailByNetId(netId); var charId = EM_Character.s_instance.GetCharIdByNetId(netId); var bag = EM_Item.s_instance.GetBag(netId); if (mailList == null || charId == -1 || bag == null) { return; } for (int i = 0; i < mailList.Count; i++) { if (mailList[i].m_isReceived) { continue; } if (!bag.CanPutItems(mailList[i].m_itemIdAndNumList)) { GL_Chat.s_instance.NotifyReceiveMailBagFullSendMessage(netId); continue; } GL_Wallet.s_instance.NotifyUpdateVirtualCurrencyOnline(netId, charId, mailList[i].m_virtualCy); GL_Wallet.s_instance.NotifyUpdateChargeCurrencyOnline(netId, charId, mailList[i].m_chargeCy); GL_Item.s_instance.NotifyCharacterGainItems(netId, charId, bag, mailList[i].m_itemIdAndNumList); EM_Mail.s_instance.CharacterReceiveMail(netId, mailList[i]); m_networkService.SendServerCommand(SC_ApplySelfReceiveMail.Instance(netId, mailList[i].m_id)); } }
public void CommandApplyReceiveMail(int netId, int mailId) { var mail = EM_Mail.s_instance.GetMailByNetIdAndMailId(netId, mailId); var charId = EM_Character.s_instance.GetCharIdByNetId(netId); var bag = EM_Item.s_instance.GetBag(netId); if (mail == null || charId == -1 || bag == null) { return; } if (mail.m_isReceived) { return; } // 背包已满, 不可领取 if (!bag.CanPutItems(mail.m_itemIdAndNumList)) { GL_Chat.s_instance.NotifyReceiveMailBagFullSendMessage(netId); return; } GL_Wallet.s_instance.NotifyUpdateVirtualCurrencyOnline(netId, charId, mail.m_virtualCy); GL_Wallet.s_instance.NotifyUpdateChargeCurrencyOnline(netId, charId, mail.m_chargeCy); GL_Item.s_instance.NotifyCharacterGainItems(netId, charId, bag, mail.m_itemIdAndNumList); EM_Mail.s_instance.CharacterReceiveMail(netId, mail); m_networkService.SendServerCommand(SC_ApplySelfReceiveMail.Instance(netId, mailId)); }