diff options
| author | Roman / Linnea Gräf <roman.graef@gmail.com> | 2023-06-19 19:23:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-19 19:23:43 +0200 |
| commit | a82819ec18bed8212fa73fda987cff951b810450 (patch) | |
| tree | 2e18b55a6870ce5bd75516dd140ab3e6441054e5 /src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java | |
| parent | 7fd26d14e742c974ec50686c375ccdfd9c968faf (diff) | |
| download | notenoughupdates-a82819ec18bed8212fa73fda987cff951b810450.tar.gz notenoughupdates-a82819ec18bed8212fa73fda987cff951b810450.tar.bz2 notenoughupdates-a82819ec18bed8212fa73fda987cff951b810450.zip | |
Add variables to calculator (#721)
* Add variables to calculator
* Fix unary minus for variables
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java index f7306f2a..71dedb12 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NeuSearchCalculator.java @@ -20,10 +20,14 @@ package io.github.moulberry.notenoughupdates.miscgui; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.auction.APIManager; +import io.github.moulberry.notenoughupdates.util.ApiUtil; import io.github.moulberry.notenoughupdates.util.Calculator; +import javax.swing.text.html.Option; import java.math.BigDecimal; import java.text.DecimalFormat; +import java.util.Optional; public class NeuSearchCalculator { @@ -43,7 +47,7 @@ public class NeuSearchCalculator { if (!lastInput.equals(input)) { lastInput = input; try { - BigDecimal calculate = Calculator.calculate(input); + BigDecimal calculate = Calculator.calculate(input, PROVIDE_LOWEST_BIN); lastResult = new DecimalFormat("#,##0.##").format(calculate); } catch (Calculator.CalculatorException ignored) { lastResult = null; @@ -52,4 +56,12 @@ public class NeuSearchCalculator { return lastResult; } + + public static Calculator.VariableProvider PROVIDE_LOWEST_BIN = name -> { + double bazaarOrBin = NotEnoughUpdates.INSTANCE.manager.auctionManager.getBazaarOrBin(name, false); + if (bazaarOrBin < 0) + return Optional.empty(); + return Optional.of(BigDecimal.valueOf(bazaarOrBin)); + }; + } |
