У меня есть Enum с абстрактным методом, и каждый случай в enum реализует этот метод.Однако в каждой реализации объявления переменных всегда одинаковы, и поэтому я получаю много избыточности.
public FSA next(Player targetPlayer, Player bot, double prevDist, double newDist) {
Melee tmp;
double weaponRange = (bot.getHolding().isGun()) ? Double.POSITIVE_INFINITY :
(tmp = (Melee) bot.getHolding()).getRange();
int ammoLeft = (bot.getHolding().isGun()) ? bot.getHolding().getAmmo() : 0;
int botHealth = bot.getHealth();
int enemyHealth = targetPlayer.getHealth();
...
}
Каков наилучший способ уменьшить эту избыточность?Сначала я хочу создать вспомогательный метод private Object[] getInfo(Player target, Player bot)
, который возвращает массив с необходимыми переменными.Но мне это не кажется слишком чистым, что было бы лучшим способом сделать это?