mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-14 16:04:40 +01:00
feat: set namecards in profile editing. (#1843)
* add: can set name cards in profile editing. * some changes * Update src/main/java/emu/grasscutter/game/player/Player.java * Update src/main/java/emu/grasscutter/server/packet/recv/HandlerGetFriendShowNameCardInfoReq.java * Update src/main/java/emu/grasscutter/server/packet/recv/HandlerUpdatePlayerShowNameCardListReq.java * Update src/main/java/emu/grasscutter/server/packet/send/PacketGetFriendShowNameCardInfoRsp.java * Update src/main/java/emu/grasscutter/server/packet/send/PacketUpdatePlayerShowNameCardListRsp.java * Update src/main/java/emu/grasscutter/game/player/Player.java
This commit is contained in:
@@ -100,6 +100,7 @@ public class Player {
|
||||
@Getter private PlayerCodex codex;
|
||||
@Getter @Setter private boolean showAvatars;
|
||||
@Getter @Setter private List<Integer> showAvatarList;
|
||||
@Getter @Setter private List<Integer> showNameCardList;
|
||||
@Getter private Map<Integer, Integer> properties;
|
||||
@Getter @Setter private int currentRealmId;
|
||||
@Getter @Setter private int widgetId;
|
||||
@@ -935,6 +936,7 @@ public class Player {
|
||||
.setNameCardId(this.getNameCardId())
|
||||
.setIsShowAvatar(this.isShowAvatars())
|
||||
.addAllShowAvatarInfoList(socialShowAvatarInfoList)
|
||||
.addAllShowNameCardIdList(this.getShowNameCardInfoList())
|
||||
.setFinishAchievementNum(0);
|
||||
return social;
|
||||
}
|
||||
@@ -968,6 +970,11 @@ public class Player {
|
||||
return showAvatarInfoList;
|
||||
}
|
||||
|
||||
public List<Integer> getShowNameCardInfoList() {
|
||||
List<Integer> info = this.getShowNameCardList();
|
||||
return info == null ? new ArrayList<>() : info;
|
||||
}
|
||||
|
||||
public PlayerWorldLocationInfoOuterClass.PlayerWorldLocationInfo getWorldPlayerLocationInfo() {
|
||||
return PlayerWorldLocationInfoOuterClass.PlayerWorldLocationInfo.newBuilder()
|
||||
.setSceneId(this.getSceneId())
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.GetFriendShowNameCardInfoReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketGetFriendShowNameCardInfoRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.GetFriendShowNameCardInfoReq)
|
||||
public class HandlerGetFriendShowNameCardInfoReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = GetFriendShowNameCardInfoReqOuterClass.GetFriendShowNameCardInfoReq.parseFrom(payload);
|
||||
|
||||
int targetUid = req.getUid();
|
||||
Player target = session.getServer().getPlayerByUid(targetUid, true);
|
||||
|
||||
session.send(new PacketGetFriendShowNameCardInfoRsp(targetUid, target.getShowNameCardInfoList()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
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.UpdatePlayerShowNameCardListReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketUpdatePlayerShowNameCardListRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.UpdatePlayerShowNameCardListReq)
|
||||
public class HandlerUpdatePlayerShowNameCardListReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = UpdatePlayerShowNameCardListReqOuterClass.UpdatePlayerShowNameCardListReq.parseFrom(payload);
|
||||
|
||||
session.getPlayer().setShowNameCardList(req.getShowNameCardIdListList());
|
||||
|
||||
session.send(new PacketUpdatePlayerShowNameCardListRsp(req.getShowNameCardIdListList()));
|
||||
}
|
||||
}
|
||||
@@ -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.GetFriendShowNameCardInfoRspOuterClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PacketGetFriendShowNameCardInfoRsp extends BasePacket {
|
||||
public PacketGetFriendShowNameCardInfoRsp(int uid, List<Integer> cardIds) {
|
||||
super(PacketOpcodes.GetFriendShowNameCardInfoRsp);
|
||||
|
||||
var rsp = GetFriendShowNameCardInfoRspOuterClass.GetFriendShowNameCardInfoRsp.newBuilder()
|
||||
.setUid(uid)
|
||||
.addAllShowNameCardIdList(cardIds)
|
||||
.setRetcode(0)
|
||||
.build();
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.UpdatePlayerShowNameCardListRspOuterClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PacketUpdatePlayerShowNameCardListRsp extends BasePacket {
|
||||
public PacketUpdatePlayerShowNameCardListRsp(List<Integer> cardIds) {
|
||||
super(PacketOpcodes.UpdatePlayerShowNameCardListRsp);
|
||||
|
||||
var rsp = UpdatePlayerShowNameCardListRspOuterClass.UpdatePlayerShowNameCardListRsp.newBuilder()
|
||||
.addAllShowNameCardIdList(cardIds)
|
||||
.setRetcode(0)
|
||||
.build();
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user