mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-22 22:21:00 +08:00
feature(widget): simple implementation of widget
Simple implementation of a part of the gadget support, very rough, hard code variables, I am very sorry for that. It can now handle part of the gadget rig. More features and better support await PRs from others. if no one else does, I'll give it a try.
This commit is contained in:
committed by
Melledy
Unverified
parent
f45e106b2a
commit
8c32438b52
@@ -0,0 +1,41 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.GetWidgetSlotRspOuterClass;
|
||||
import emu.grasscutter.net.proto.WidgetSlotDataOuterClass;
|
||||
import emu.grasscutter.net.proto.WidgetSlotTagOuterClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PacketGetWidgetSlotRsp extends BasePacket {
|
||||
|
||||
public PacketGetWidgetSlotRsp(Player player) {
|
||||
super(PacketOpcodes.GetWidgetSlotRsp);
|
||||
|
||||
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp.Builder proto =
|
||||
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp.newBuilder();
|
||||
|
||||
if (player.getWidgetId() == null) {
|
||||
proto.addAllSlotList(List.of());
|
||||
} else {
|
||||
proto.addSlotList(
|
||||
WidgetSlotDataOuterClass.WidgetSlotData.newBuilder()
|
||||
.setIsActive(true)
|
||||
.setMaterialId(player.getWidgetId())
|
||||
.build()
|
||||
);
|
||||
|
||||
proto.addSlotList(
|
||||
WidgetSlotDataOuterClass.WidgetSlotData.newBuilder()
|
||||
.setTag(WidgetSlotTagOuterClass.WidgetSlotTag.WIDGET_SLOT_ATTACH_AVATAR)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp protoData = proto.build();
|
||||
|
||||
this.setData(protoData);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user