mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 09:09:54 +02:00
Fix tower defense settle
This commit is contained in:
@@ -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
|
||||
*/
|
||||
|
||||
+5
-1
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user