Added price multipliers
This commit is contained in:
@@ -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.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user