feat: properly handle level completion

This commit is contained in:
Fishia authored and Melledy committed 2026-03-21 02:31:29 -07:00
1 parent d80fb0f374
commit 7bb824c009
2 files changed
+63 -43

No files matched your search

@@ -3,7 +3,10 @@ package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.ActivityPenguinCardLevelSettle.ActivityPenguinCardSettleReq;
import it.unimi.dsi.fastutil.ints.IntList;
import emu.nebula.net.HandlerId;
import emu.nebula.game.activity.type.PenguinCardActivity;
import emu.nebula.game.activity.type.PenguinCardActivity.LevelStats;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.activity_penguin_card_level_settle_req)
@@ -15,6 +18,13 @@ public class HandlerActivityPenguinCardSettleReq extends NetHandler {
var req = ActivityPenguinCardSettleReq.parseFrom(message);
// Get activity
var activity = session.getPlayer().getActivityManager().getActivity(PenguinCardActivity.class, 800001);
// Update completed levels
LevelStats data = new LevelStats();
data.setScore(req.getScore());
data.setStars(req.getStar());
activity.getCompletedLevels().put(req.getLevelId(), data);
// Encode and send
return session.encodeMsg(NetMsgId.activity_penguin_card_level_settle_succeed_ack);