mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-23 03:37:38 +00:00
Player show avatar list
This commit is contained in:
parent
5b55df6993
commit
f16d33b413
@ -93,6 +93,9 @@ public class Player {
|
|||||||
private int moonCardDuration;
|
private int moonCardDuration;
|
||||||
private Set<Date> moonCardGetTimes;
|
private Set<Date> moonCardGetTimes;
|
||||||
|
|
||||||
|
private List<Integer> showAvatarList;
|
||||||
|
private boolean showAvatars;
|
||||||
|
|
||||||
@Transient private boolean paused;
|
@Transient private boolean paused;
|
||||||
@Transient private int enterSceneToken;
|
@Transient private int enterSceneToken;
|
||||||
@Transient private SceneLoadState sceneState;
|
@Transient private SceneLoadState sceneState;
|
||||||
@ -513,6 +516,22 @@ public class Player {
|
|||||||
this.regionId = regionId;
|
this.regionId = regionId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setShowAvatars(boolean showAvatars) {
|
||||||
|
this.showAvatars = showAvatars;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isShowAvatars() {
|
||||||
|
return showAvatars;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowAvatarList(List<Integer> showAvatarList) {
|
||||||
|
this.showAvatarList = showAvatarList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> getShowAvatarList() {
|
||||||
|
return showAvatarList;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean inMoonCard() {
|
public boolean inMoonCard() {
|
||||||
return moonCard;
|
return moonCard;
|
||||||
}
|
}
|
||||||
@ -832,15 +851,29 @@ public class Player {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public SocialDetail.Builder getSocialDetail() {
|
public SocialDetail.Builder getSocialDetail() {
|
||||||
|
List<SocialShowAvatarInfoOuterClass.SocialShowAvatarInfo> socialShowAvatarInfoList = new ArrayList<>();
|
||||||
|
for (int avatarId : this.getShowAvatarList()) {
|
||||||
|
socialShowAvatarInfoList.add(
|
||||||
|
socialShowAvatarInfoList.size(),
|
||||||
|
SocialShowAvatarInfoOuterClass.SocialShowAvatarInfo.newBuilder()
|
||||||
|
.setAvatarId(avatarId)
|
||||||
|
.setLevel(getAvatars().getAvatarById(avatarId).getLevel())
|
||||||
|
.setCostumeId(getAvatars().getAvatarById(avatarId).getCostume())
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
SocialDetail.Builder social = SocialDetail.newBuilder()
|
SocialDetail.Builder social = SocialDetail.newBuilder()
|
||||||
.setUid(this.getUid())
|
.setUid(this.getUid())
|
||||||
.setProfilePicture(ProfilePicture.newBuilder().setAvatarId(this.getHeadImage()))
|
.setAvatarId(HeadImage.newBuilder().setAvatarId(this.getHeadImage()).getAvatarId())
|
||||||
.setNickname(this.getNickname())
|
.setNickname(this.getNickname())
|
||||||
.setSignature(this.getSignature())
|
.setSignature(this.getSignature())
|
||||||
.setLevel(this.getLevel())
|
.setLevel(this.getLevel())
|
||||||
.setBirthday(this.getBirthday().getFilledProtoWhenNotEmpty())
|
.setBirthday(this.getBirthday().getFilledProtoWhenNotEmpty())
|
||||||
.setWorldLevel(this.getWorldLevel())
|
.setWorldLevel(this.getWorldLevel())
|
||||||
.setNameCardId(this.getNameCardId())
|
.setNameCardId(this.getNameCardId())
|
||||||
|
.setIsShowAvatar(this.isShowAvatars())
|
||||||
|
.addAllShowAvatarInfoList(socialShowAvatarInfoList)
|
||||||
.setFinishAchievementNum(0);
|
.setFinishAchievementNum(0);
|
||||||
return social;
|
return social;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
|
import emu.grasscutter.Grasscutter;
|
||||||
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.UpdatePlayerShowAvatarListReqOuterClass;
|
||||||
|
import emu.grasscutter.server.game.GameSession;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketUpdatePlayerShowAvatarListRsp;
|
||||||
|
|
||||||
|
@Opcodes(PacketOpcodes.UpdatePlayerShowAvatarListReq)
|
||||||
|
public class HandlerUpdatePlayerShowAvatarListReq extends PacketHandler {
|
||||||
|
@Override
|
||||||
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||||
|
UpdatePlayerShowAvatarListReqOuterClass.UpdatePlayerShowAvatarListReq req = UpdatePlayerShowAvatarListReqOuterClass.UpdatePlayerShowAvatarListReq.parseFrom(payload);
|
||||||
|
|
||||||
|
session.getPlayer().setShowAvatars(req.getIsShowAvatar());
|
||||||
|
session.getPlayer().setShowAvatarList(req.getShowAvatarIdListList());
|
||||||
|
|
||||||
|
session.send(new PacketUpdatePlayerShowAvatarListRsp(req.getIsShowAvatar(), req.getShowAvatarIdListList()));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
|
import emu.grasscutter.Grasscutter;
|
||||||
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.UpdatePlayerShowAvatarListReqOuterClass;
|
||||||
|
import emu.grasscutter.server.game.GameSession;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketUpdatePlayerShowAvatarListRsp;
|
||||||
|
|
||||||
|
@Opcodes(PacketOpcodes.UpdatePlayerShowAvatarListReq)
|
||||||
|
public class HandlerUpdatePlayerShowAvatarListReq extends PacketHandler {
|
||||||
|
@Override
|
||||||
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||||
|
UpdatePlayerShowAvatarListReqOuterClass.UpdatePlayerShowAvatarListReq req = UpdatePlayerShowAvatarListReqOuterClass.UpdatePlayerShowAvatarListReq.parseFrom(payload);
|
||||||
|
|
||||||
|
session.getPlayer().setShowAvatars(req.getIsShowAvatar());
|
||||||
|
session.getPlayer().setShowAvatarList(req.getShowAvatarIdListList());
|
||||||
|
|
||||||
|
session.send(new PacketUpdatePlayerShowAvatarListRsp(req.getIsShowAvatar(), req.getShowAvatarIdListList()));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user