Refactor various inventory functions

This commit is contained in:
Melledy
2025-11-12 03:33:00 -08:00
parent 2c74441583
commit 281d61d0ab
14 changed files with 61 additions and 87 deletions
@@ -1,9 +1,6 @@
package emu.nebula.game.instance;
import java.util.List;
import emu.nebula.game.inventory.ItemParamMap;
import emu.nebula.game.inventory.ItemRewardParam;
import emu.nebula.game.inventory.ItemRewardList;
import emu.nebula.game.player.Player;
public interface InstanceData {
@@ -14,38 +11,20 @@ public interface InstanceData {
public int getEnergyConsume();
// Handle reward generation
// Item rewards
public List<ItemRewardParam> getFirstRewards();
public ItemRewardList getFirstRewards();
public default List<ItemRewardParam> getFirstRewards(int rewardType) {
public default ItemRewardList getFirstRewards(int rewardType) {
return getFirstRewards();
}
public default ItemParamMap generateFirstRewards(int rewardType) {
return this.generateRewards(this.getFirstRewards());
}
public ItemRewardList getRewards();
public List<ItemRewardParam> getRewards();
public default List<ItemRewardParam> getRewards(int rewardType) {
public default ItemRewardList getRewards(int rewardType) {
return getRewards();
}
public default ItemParamMap generateRewards(int rewardType) {
return this.generateRewards(this.getRewards());
}
public default ItemParamMap generateRewards(List<ItemRewardParam> params) {
var map = new ItemParamMap();
for (var param : params) {
map.add(param.getId(), param.getRandomCount());
}
return map;
}
/**
* Checks if the player has enough energy to complete this instance
* @return true if the player has enough energy
@@ -115,7 +115,7 @@ public class InstanceManager extends PlayerManager {
for (int i = 0; i < count; i++) {
// Generate rewards for each settle count
var rewards = data.generateRewards(rewardType);
var rewards = data.getRewards(rewardType).generate();
// Add to reward list
list.add(rewards);
@@ -19,9 +19,9 @@ public class InstanceSettleData {
public void generateRewards(InstanceData data, int rewardType) {
if (this.isFirst) {
this.firstRewards = data.generateFirstRewards(rewardType);
this.firstRewards = data.getFirstRewards(rewardType).generate();
}
this.rewards = data.generateRewards(rewardType);
this.rewards = data.getRewards(rewardType).generate();
}
}