Exemplo n.º 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());
    }
  }