mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-15 00:15:33 +01:00
feat: set emoji collection in chat screen (#1864)
This commit is contained in:
@@ -126,6 +126,7 @@ public class Player {
|
||||
@Getter private Map<Integer, Integer> openStates;
|
||||
@Getter @Setter private Map<Integer, Set<Integer>> unlockedSceneAreas;
|
||||
@Getter @Setter private Map<Integer, Set<Integer>> unlockedScenePoints;
|
||||
@Getter @Setter private List<Integer> chatEmojiIdList;
|
||||
|
||||
@Transient private long nextGuid = 0;
|
||||
@Transient @Getter @Setter private int peerId;
|
||||
@@ -230,6 +231,7 @@ public class Player {
|
||||
this.openStates = new HashMap<>();
|
||||
this.unlockedSceneAreas = new HashMap<>();
|
||||
this.unlockedScenePoints = new HashMap<>();
|
||||
this.chatEmojiIdList = new ArrayList<>();
|
||||
|
||||
this.attackResults = new LinkedBlockingQueue<>();
|
||||
this.coopRequests = new Int2ObjectOpenHashMap<>();
|
||||
@@ -1187,6 +1189,7 @@ public class Player {
|
||||
session.send(new PacketAllWidgetDataNotify(this));
|
||||
session.send(new PacketWidgetGadgetAllDataNotify());
|
||||
session.send(new PacketCombineDataNotify(this.unlockedCombines));
|
||||
session.send(new PacketGetChatEmojiCollectionRsp(this.getChatEmojiIdList()));
|
||||
this.forgingManager.sendForgeDataNotify();
|
||||
this.resinManager.onPlayerLogin();
|
||||
this.cookingManager.sendCookDataNofity();
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketGetChatEmojiCollectionRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.GetChatEmojiCollectionReq)
|
||||
public class HandlerGetChatEmojiCollectionReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
session.send(new PacketGetChatEmojiCollectionRsp(session.getPlayer().getChatEmojiIdList()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.SetChatEmojiCollectionReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketSetChatEmojiCollectionRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.SetChatEmojiCollectionReq)
|
||||
public class HandlerSetChatEmojiCollectionReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = SetChatEmojiCollectionReqOuterClass.SetChatEmojiCollectionReq.parseFrom(payload);
|
||||
|
||||
session.getPlayer().setChatEmojiIdList(req.getChatEmojiCollectionData().getEmojiIdListList());
|
||||
session.send(new PacketSetChatEmojiCollectionRsp());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ChatEmojiCollectionDataOuterClass;
|
||||
import emu.grasscutter.net.proto.GetChatEmojiCollectionRspOuterClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PacketGetChatEmojiCollectionRsp extends BasePacket {
|
||||
public PacketGetChatEmojiCollectionRsp(List<Integer> emojiIds) {
|
||||
super(PacketOpcodes.GetChatEmojiCollectionRsp);
|
||||
|
||||
var rsp = GetChatEmojiCollectionRspOuterClass.GetChatEmojiCollectionRsp.newBuilder()
|
||||
.setChatEmojiCollectionData(ChatEmojiCollectionDataOuterClass.ChatEmojiCollectionData.newBuilder()
|
||||
.addAllEmojiIdList(emojiIds)
|
||||
.build());
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
|
||||
public class PacketSetChatEmojiCollectionRsp extends BasePacket {
|
||||
public PacketSetChatEmojiCollectionRsp() {
|
||||
super(PacketOpcodes.SetChatEmojiCollectionRsp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user