mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-23 15:00:51 +08:00
37 lines
1.3 KiB
Java
37 lines
1.3 KiB
Java
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.AvatarTeamUpdateNotifyOuterClass.AvatarTeamUpdateNotify;
|
|
|
|
public class PacketAvatarTeamUpdateNotify extends BasePacket {
|
|
|
|
public PacketAvatarTeamUpdateNotify(Player player) {
|
|
super(PacketOpcodes.AvatarTeamUpdateNotify);
|
|
|
|
AvatarTeamUpdateNotify.Builder proto = AvatarTeamUpdateNotify.newBuilder();
|
|
|
|
var teamManager = player.getTeamManager();
|
|
if (teamManager.isUsingTrialTeam()) {
|
|
proto.addAllTempAvatarGuidList(
|
|
teamManager.getActiveTeam().stream()
|
|
.map(entity -> entity.getAvatar().getGuid())
|
|
.toList());
|
|
} else {
|
|
teamManager
|
|
.getTeams()
|
|
.forEach((key, value) -> proto.putAvatarTeamMap(key, value.toProto(player)));
|
|
}
|
|
|
|
this.setData(proto);
|
|
}
|
|
|
|
/** Used for locking/unlocking team modification. */
|
|
public PacketAvatarTeamUpdateNotify() {
|
|
super(PacketOpcodes.AvatarTeamUpdateNotify);
|
|
|
|
this.setData(AvatarTeamUpdateNotify.newBuilder().build());
|
|
}
|
|
}
|