mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-06-13 02:13:42 +08:00
42 lines
1.5 KiB
Java
42 lines
1.5 KiB
Java
package emu.grasscutter.server.packet.send;
|
|
|
|
import emu.grasscutter.game.avatar.Avatar;
|
|
import emu.grasscutter.game.inventory.EquipType;
|
|
import emu.grasscutter.game.inventory.GameItem;
|
|
import emu.grasscutter.net.packet.BasePacket;
|
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
|
import emu.grasscutter.net.proto.AvatarEquipChangeNotifyOuterClass.AvatarEquipChangeNotify;
|
|
|
|
public class PacketAvatarEquipChangeNotify extends BasePacket {
|
|
|
|
public PacketAvatarEquipChangeNotify(Avatar avatar, GameItem item) {
|
|
super(PacketOpcodes.AvatarEquipChangeNotify);
|
|
|
|
AvatarEquipChangeNotify.Builder proto =
|
|
AvatarEquipChangeNotify.newBuilder()
|
|
.setAvatarGuid(avatar.getGuid())
|
|
.setEquipType(item.getEquipSlot())
|
|
.setItemId(item.getItemId())
|
|
.setEquipGuid(item.getGuid());
|
|
|
|
if (item.getItemData().getEquipType() == EquipType.EQUIP_WEAPON) {
|
|
proto.setWeapon(item.createSceneWeaponInfo());
|
|
} else {
|
|
proto.setReliquary(item.createSceneReliquaryInfo());
|
|
}
|
|
|
|
this.setData(proto);
|
|
}
|
|
|
|
public PacketAvatarEquipChangeNotify(Avatar avatar, EquipType slot) {
|
|
super(PacketOpcodes.AvatarEquipChangeNotify);
|
|
|
|
AvatarEquipChangeNotify.Builder proto =
|
|
AvatarEquipChangeNotify.newBuilder()
|
|
.setAvatarGuid(avatar.getGuid())
|
|
.setEquipType(slot.getValue());
|
|
|
|
this.setData(proto);
|
|
}
|
|
}
|