mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-20 01:29:54 +02:00
Refactor various inventory functions
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user