// 打開收信夾 ?封信件顯示標題 public S_Mail(L1PcInstance pc, int type) { List<L1Mail> mails = Lists.newList(); MailTable.getInstance(); for (L1Mail mail : MailTable.getAllMail()) { if (mail.getInBoxId() == pc.getId()) { if (mail.getType() == type) { mails.add(mail); } } } writeC(Opcodes.S_OPCODE_MAIL); writeC(type); writeH(mails.size()); if (mails.isEmpty()) { return; } for (int i = 0; i < mails.size(); i++) { L1Mail mail = mails.get(i); writeD(mail.getId()); writeC(mail.getReadStatus()); writeD((int) (mail.getDate().getTime() / 1000)); writeC(mail.getSenderName().equalsIgnoreCase(pc.getName()) ? 1 : 0); // 寄件/備份 writeS( mail.getSenderName().equalsIgnoreCase(pc.getName()) ? mail.getReceiverName() : mail.getSenderName()); writeByte(mail.getSubject()); } }
/** * <b>寄出信件</b> * * @param pc 寄出信件: 寄信人 , 寄件備份: 收信人<br> * @param isDraft 是否是寄件備份 ? true:備份 , false:寄出 */ public S_Mail(L1PcInstance pc, int mailId, boolean isDraft) { MailTable.getInstance(); L1Mail mail = MailTable.getMail(mailId); writeC(Opcodes.S_OPCODE_MAIL); writeC(0x50); writeD(mailId); writeC(isDraft ? 1 : 0); writeS(pc.getName()); writeByte(mail.getSubject()); }