package net.demilich.metastone.game.spells.desc.valueprovider;
import net.demilich.metastone.game.GameContext;
import net.demilich.metastone.game.Player;
import net.demilich.metastone.game.entities.Entity;
import net.demilich.metastone.game.spells.desc.condition.Condition;
public class ConditionalValueProvider extends ValueProvider {
public ConditionalValueProvider(ValueProviderDesc desc) {
super(desc);
}
@Override
protected int provideValue(GameContext context, Player player, Entity target, Entity source) {
int ifTrue = desc.getInt(ValueProviderArg.IF_TRUE);
int ifFalse = desc.getInt(ValueProviderArg.IF_FALSE);
Condition condition = (Condition) desc.get(ValueProviderArg.CONDITION);
return condition.isFulfilled(context, player, source, target) ? ifTrue : ifFalse;
}
}