mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-08 21:15:54 +08:00
39 lines
1.3 KiB
Java
39 lines
1.3 KiB
Java
package emu.grasscutter.server.packet.send;
|
|
|
|
import emu.grasscutter.game.avatar.GenshinAvatar;
|
|
import emu.grasscutter.game.props.FetterState;
|
|
import emu.grasscutter.net.packet.GenshinPacket;
|
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
|
import emu.grasscutter.net.proto.AvatarFetterDataNotifyOuterClass.AvatarFetterDataNotify;
|
|
import emu.grasscutter.net.proto.AvatarFetterInfoOuterClass.AvatarFetterInfo;
|
|
import emu.grasscutter.net.proto.FetterDataOuterClass.FetterData;
|
|
|
|
public class PacketAvatarFetterDataNotify extends GenshinPacket {
|
|
|
|
public PacketAvatarFetterDataNotify(GenshinAvatar avatar) {
|
|
super(PacketOpcodes.AvatarFetterDataNotify);
|
|
|
|
AvatarFetterInfo.Builder avatarFetter = AvatarFetterInfo.newBuilder()
|
|
.setExpLevel(avatar.getFetterLevel())
|
|
.setExpNumber(avatar.getFetterExp());
|
|
|
|
if (avatar.getFetterList() != null) {
|
|
for (int i = 0; i < avatar.getFetterList().size(); i++) {
|
|
avatarFetter.addFetterList(
|
|
FetterData.newBuilder()
|
|
.setFetterId(avatar.getFetterList().get(i))
|
|
.setFetterState(FetterState.FINISH.getValue())
|
|
);
|
|
}
|
|
}
|
|
|
|
AvatarFetterInfo avatarFetterInfo = avatarFetter.build();
|
|
|
|
AvatarFetterDataNotify proto = AvatarFetterDataNotify.newBuilder()
|
|
.putFetterInfoMap(avatar.getGuid(), avatarFetterInfo)
|
|
.build();
|
|
|
|
this.setData(proto);
|
|
}
|
|
}
|