forked from External/mage
* Performance: memory usage optimization for deck editor (part 2 of removed bloated usage of ManaCosts -> ManaColor objects, see #7515);
This commit is contained in:
parent
c1dea5b21e
commit
10e557b873
25 changed files with 164 additions and 113 deletions
|
|
@ -1,10 +1,16 @@
|
|||
|
||||
package mage.cards.mock;
|
||||
|
||||
import mage.abilities.costs.mana.ManaCost;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.SplitCard;
|
||||
import mage.cards.SplitCardHalf;
|
||||
import mage.cards.repository.CardInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
|
|
@ -12,9 +18,13 @@ import mage.cards.repository.CardInfo;
|
|||
public class MockSplitCardHalf extends MockCard implements SplitCardHalf {
|
||||
|
||||
private SplitCard splitCardParent;
|
||||
private ManaCosts<ManaCost> manaCosts;
|
||||
private List<String> manaCostsSymbols;
|
||||
|
||||
public MockSplitCardHalf(CardInfo card) {
|
||||
super(card);
|
||||
this.manaCostsSymbols = card.getManaCosts(CardInfo.ManaCostSide.ALL);
|
||||
this.manaCosts = new ManaCostsImpl<>(String.join("", this.manaCostsSymbols));
|
||||
}
|
||||
|
||||
public MockSplitCardHalf(final MockSplitCardHalf card) {
|
||||
|
|
@ -36,4 +46,15 @@ public class MockSplitCardHalf extends MockCard implements SplitCardHalf {
|
|||
return splitCardParent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManaCosts<ManaCost> getManaCost() {
|
||||
// only split half cards can store mana cost in objects list instead strings (memory optimization)
|
||||
return manaCosts;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getManaCostSymbols() {
|
||||
// only split half cards can store mana cost in objects list instead strings (memory optimization)
|
||||
return manaCostsSymbols;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue