mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-23 09:11:45 +00:00
Mail read notify
This commit is contained in:
parent
721d8b7223
commit
4c7bd69eb0
@ -0,0 +1,36 @@
|
|||||||
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
|
import emu.grasscutter.game.Mail;
|
||||||
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.GetAllMailReqOuterClass;
|
||||||
|
import emu.grasscutter.net.proto.ReadMailNotifyOuterClass;
|
||||||
|
import emu.grasscutter.server.game.GameSession;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketMailChangeNotify;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Opcodes(PacketOpcodes.ReadMailNotify)
|
||||||
|
public class HandlerReadMailNotify extends PacketHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||||
|
ReadMailNotifyOuterClass.ReadMailNotify req = ReadMailNotifyOuterClass.ReadMailNotify.parseFrom(payload);
|
||||||
|
|
||||||
|
List<Mail> updatedMail = new ArrayList<>();
|
||||||
|
|
||||||
|
for (int mailId : req.getMailIdListList()) {
|
||||||
|
Mail message = session.getPlayer().getMailById(mailId);
|
||||||
|
int messageIndex = session.getPlayer().getMailIndex(message);
|
||||||
|
|
||||||
|
message.isRead = true;
|
||||||
|
|
||||||
|
session.getPlayer().replaceMailByIndex(messageIndex, message);
|
||||||
|
updatedMail.add(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
session.send(new PacketMailChangeNotify(session.getPlayer(), updatedMail));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user