mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-23 12:24:43 +01:00
implement the activity system
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ActivityInfoNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.ActivityInfoOuterClass;
|
||||
|
||||
public class PacketActivityInfoNotify extends BasePacket {
|
||||
|
||||
public PacketActivityInfoNotify(ActivityInfoOuterClass.ActivityInfo activityInfo) {
|
||||
super(PacketOpcodes.ActivityInfoNotify);
|
||||
|
||||
var proto = ActivityInfoNotifyOuterClass.ActivityInfoNotify.newBuilder();
|
||||
|
||||
proto.setActivityInfo(activityInfo);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.activity.ActivityConfigItem;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ActivityScheduleInfoNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.ActivityScheduleInfoOuterClass;
|
||||
import emu.grasscutter.utils.DateHelper;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class PacketActivityScheduleInfoNotify extends BasePacket {
|
||||
|
||||
public PacketActivityScheduleInfoNotify(Collection<ActivityConfigItem> activityConfigItemList) {
|
||||
super(PacketOpcodes.ActivityScheduleInfoNotify);
|
||||
|
||||
var proto = ActivityScheduleInfoNotifyOuterClass.ActivityScheduleInfoNotify.newBuilder();
|
||||
|
||||
activityConfigItemList.forEach(item -> {
|
||||
proto.addActivityScheduleList(ActivityScheduleInfoOuterClass.ActivityScheduleInfo.newBuilder()
|
||||
.setActivityId(item.getActivityId())
|
||||
.setScheduleId(item.getScheduleId())
|
||||
.setIsOpen(true)
|
||||
.setBeginTime(DateHelper.getUnixTime(item.getBeginTime()))
|
||||
.setEndTime(DateHelper.getUnixTime(item.getEndTime()))
|
||||
.build());
|
||||
});
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.activity.PlayerActivityData;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ActivityUpdateWatcherNotifyOuterClass;
|
||||
|
||||
public class PacketActivityUpdateWatcherNotify extends BasePacket {
|
||||
|
||||
public PacketActivityUpdateWatcherNotify(int activityId, PlayerActivityData.WatcherInfo watcherInfo) {
|
||||
super(PacketOpcodes.ActivityUpdateWatcherNotify);
|
||||
|
||||
var proto = ActivityUpdateWatcherNotifyOuterClass.ActivityUpdateWatcherNotify.newBuilder();
|
||||
|
||||
proto.setActivityId(activityId)
|
||||
.setWatcherInfo(watcherInfo.toProto());
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.activity.ActivityManager;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.GetActivityInfoRspOuterClass.GetActivityInfoRsp;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class PacketGetActivityInfoRsp extends BasePacket {
|
||||
public PacketGetActivityInfoRsp() {
|
||||
public PacketGetActivityInfoRsp(Set<Integer> activityIdList, ActivityManager activityManager) {
|
||||
super(PacketOpcodes.GetActivityInfoRsp);
|
||||
|
||||
GetActivityInfoRsp proto = GetActivityInfoRsp.newBuilder().build();
|
||||
|
||||
|
||||
var proto = GetActivityInfoRsp.newBuilder();
|
||||
|
||||
activityIdList.stream()
|
||||
.map(activityManager::getInfoProto)
|
||||
.forEach(proto::addActivityInfoList);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameSettleRspOuterClass;
|
||||
|
||||
public class PacketMusicGameSettleRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameSettleRsp(int musicBasicId) {
|
||||
super(PacketOpcodes.MusicGameSettleRsp);
|
||||
|
||||
var proto = MusicGameSettleRspOuterClass.MusicGameSettleRsp.newBuilder();
|
||||
|
||||
proto.setMusicBasicId(musicBasicId)
|
||||
.setIsNewRecord(true);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameStartRspOuterClass;
|
||||
|
||||
public class PacketMusicGameStartRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameStartRsp(int musicBasicId) {
|
||||
super(PacketOpcodes.MusicGameStartRsp);
|
||||
|
||||
var proto = MusicGameStartRspOuterClass.MusicGameStartRsp.newBuilder();
|
||||
|
||||
proto.setMusicBasicId(musicBasicId);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user