Fix tower defense settle

This commit is contained in:
Melledy
2026-02-13 01:58:04 -08:00
parent dfebf2d816
commit 57b17f2d25
2 changed files with 15 additions and 1 deletions
@@ -53,6 +53,16 @@ public class ActivityManager extends PlayerManager implements GameDatabaseObject
return null;
}
public <T extends GameActivity> T getFirstActivity(Class<T> activityClass) {
for (var activity : this.getActivities().values()) {
if (activityClass.isInstance(activity)) {
return activityClass.cast(activity);
}
}
return null;
}
/**
* This needs to be called after being loaded from the database
*/
@@ -16,7 +16,11 @@ public class HandlerActivityTowerDefenseLevelSettleReq extends NetHandler {
var req = ActivityTowerDefenseLevelSettleReq.parseFrom(message);
// Get activity
var activity = session.getPlayer().getActivityManager().getActivity(TowerDefenseActivity.class, 102001);
var activity = session.getPlayer().getActivityManager().getFirstActivity(TowerDefenseActivity.class);
if (activity == null) {
return session.encodeMsg(NetMsgId.activity_tower_defense_level_settle_failed_ack);
}
// Claim rewards
var change = activity.claimReward(req.getLevelId());