Added price multipliers

This commit is contained in:
Auxilor
2022-10-29 16:53:24 +01:00
parent e67d9d634c
commit 54b2b42512
4 changed files with 61 additions and 7 deletions

View File

@@ -55,4 +55,22 @@ public interface Price {
default void setValue(final double value) {
// Override when needed.
}
/**
* Get the price multiplier.
*
* @return The value.
*/
default double getMultiplier() {
return 1;
}
/**
* Set the price multiplier.
*
* @param multiplier The multiplier.
*/
default void setMultiplier(final double multiplier) {
// Override when needed.
}
}

View File

@@ -16,6 +16,8 @@ public final class PriceEconomy implements Price {
*/
private final Supplier<Double> function;
private double multiplier;
/**
* Create a new economy-based price.
*
@@ -51,6 +53,16 @@ public final class PriceEconomy implements Price {
@Override
public double getValue() {
return function.get();
return function.get() * multiplier;
}
@Override
public double getMultiplier() {
return multiplier;
}
@Override
public void setMultiplier(final double multiplier) {
this.multiplier = multiplier;
}
}