mirror of
https://github.com/magefree/mage.git
synced 2025-12-27 22:12:03 -08:00
refactor: fixed copy constructor in some dynamic values
This commit is contained in:
parent
2341333b3c
commit
de19bd56cb
2 changed files with 26 additions and 30 deletions
|
|
@ -3,33 +3,31 @@ package mage.abilities.dynamicvalue;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.game.Game;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} from that adds together multiple
|
||||
* {@link DynamicValue}s.
|
||||
*/
|
||||
public class AdditiveDynamicValue implements DynamicValue {
|
||||
|
||||
private final List<DynamicValue> dynamicValues;
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} from that adds together multiple
|
||||
* {@link DynamicValue}s.
|
||||
*
|
||||
* @param dynamicValues The dynamic values to add together.
|
||||
*/
|
||||
public AdditiveDynamicValue(DynamicValue... dynamicValues) {
|
||||
this.dynamicValues = Arrays.asList(dynamicValues);
|
||||
this(Arrays.asList(dynamicValues));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} from that adds together multiple
|
||||
* {@link DynamicValue}s.
|
||||
*
|
||||
* @param dynamicValues The dynamic values to add together.
|
||||
*/
|
||||
public AdditiveDynamicValue(List<DynamicValue> dynamicValues) {
|
||||
this.dynamicValues = dynamicValues;
|
||||
this.dynamicValues = new ArrayList<>(dynamicValues);
|
||||
}
|
||||
|
||||
private AdditiveDynamicValue(final AdditiveDynamicValue value) {
|
||||
this.dynamicValues = CardUtil.deepCopyObject(value.dynamicValues);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -39,7 +37,7 @@ public class AdditiveDynamicValue implements DynamicValue {
|
|||
|
||||
@Override
|
||||
public AdditiveDynamicValue copy() {
|
||||
return new AdditiveDynamicValue(this.dynamicValues);
|
||||
return new AdditiveDynamicValue(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -3,33 +3,31 @@ package mage.abilities.dynamicvalue;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.game.Game;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} that finds the maximum of multiple
|
||||
* {@link DynamicValue}s.
|
||||
*/
|
||||
public class MaximumDynamicValue implements DynamicValue {
|
||||
|
||||
private final List<DynamicValue> dynamicValues;
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} that finds the maximum of multiple
|
||||
* {@link DynamicValue}s.
|
||||
*
|
||||
* @param dynamicValues The dynamic values to add together.
|
||||
*/
|
||||
public MaximumDynamicValue(DynamicValue... dynamicValues) {
|
||||
this.dynamicValues = Arrays.asList(dynamicValues);
|
||||
this(Arrays.asList(dynamicValues));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link DynamicValue} that finds the maximum of multiple
|
||||
* {@link DynamicValue}s.
|
||||
*
|
||||
* @param dynamicValues The dynamic values to add together.
|
||||
*/
|
||||
public MaximumDynamicValue(List<DynamicValue> dynamicValues) {
|
||||
this.dynamicValues = dynamicValues;
|
||||
this.dynamicValues = new ArrayList<>(dynamicValues);
|
||||
}
|
||||
|
||||
private MaximumDynamicValue(final MaximumDynamicValue value) {
|
||||
this.dynamicValues = CardUtil.deepCopyObject(value.dynamicValues);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -39,7 +37,7 @@ public class MaximumDynamicValue implements DynamicValue {
|
|||
|
||||
@Override
|
||||
public MaximumDynamicValue copy() {
|
||||
return new MaximumDynamicValue(this.dynamicValues);
|
||||
return new MaximumDynamicValue(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue