Beispiel #1
0
  // 打開收信夾 ?封信件顯示標題
  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());
    }
  }
Beispiel #2
0
 /**
  * <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());
 }