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;
|
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
|
* 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);
|
var req = ActivityTowerDefenseLevelSettleReq.parseFrom(message);
|
||||||
|
|
||||||
// Get activity
|
// 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
|
// Claim rewards
|
||||||
var change = activity.claimReward(req.getLevelId());
|
var change = activity.claimReward(req.getLevelId());
|
||||||
|
|||||||
Reference in New Issue
Block a user