mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-22 03:45:10 +01:00
implement the activity system
This commit is contained in:
@@ -3,13 +3,20 @@ package emu.grasscutter.server.packet.recv;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.proto.GetActivityInfoReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketGetActivityInfoRsp;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
@Opcodes(PacketOpcodes.GetActivityInfoReq)
|
||||
public class HandlerGetActivityInfoReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
session.send(new PacketGetActivityInfoRsp());
|
||||
var req = GetActivityInfoReqOuterClass.GetActivityInfoReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketGetActivityInfoRsp(
|
||||
new HashSet<>(req.getActivityIdListList()),
|
||||
session.getPlayer().getActivityManager()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.game.props.WatcherTriggerType;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameSettleReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameSettleRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameSettleReq)
|
||||
public class HandlerMusicGameSettleReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameSettleReqOuterClass.MusicGameSettleReq.parseFrom(payload);
|
||||
|
||||
session.getPlayer().getActivityManager().triggerWatcher(
|
||||
WatcherTriggerType.TRIGGER_FLEUR_FAIR_MUSIC_GAME_REACH_SCORE,
|
||||
String.valueOf(req.getMusicBasicId()),
|
||||
String.valueOf(req.getScore())
|
||||
);
|
||||
|
||||
|
||||
//session.send(new PacketMusicGameSettleRsp(req.getMusicBasicId()));
|
||||
session.send(new PacketMusicGameSettleRsp(req.getMusicBasicId()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameStartReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameStartRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameStartReq)
|
||||
public class HandlerMusicGameStartReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameStartReqOuterClass.MusicGameStartReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketMusicGameStartRsp(req.getMusicBasicId()));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user