중사장이 정확히 하고싶은건 듣기만 해서 정확히는 모름
최대한 쉽고 읽기 쉬운 스타일로 코딩한건데 원하는건지는 몰?루
package Miyu.actions;
import Miyu.cards.AbstractDefaultCard;
import Miyu.cards.ICoverCard;
import com.megacrit.cardcrawl.actions.AbstractGameAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.CardGroup;
import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.core.Settings;
import java.util.ArrayList;
import java.util.List;
public class MoveToHighCoverAction extends AbstractGameAction {
private static final float DURATION = Settings.ACTION_DUR_XFAST;
private AbstractPlayer p;
private AbstractCard c;
private ArrayList<AbstractCard.CardTags> keyword = new ArrayList();
public MoveToHighCoverAction(AbstractPlayer player) {
this.p = player;
this.duration = DURATION;
CardGroup hand = this.p.hand;
CardGroup cardsHasCover = new CardGroup(CardGroup.CardGroupType.UNSPECIFIED);
AbstractCard maxCoverCard = null;
List<AbstractCard> iCoverCards = new ArrayList<>();
for(AbstractCard card1 : hand.group) {
if(card1 instanceof ICoverCard) {
iCoverCards.add(card1);
}
}
if(iCoverCards.size() == 0) {
// TODO();
}
for(AbstractCard iCoverCard : iCoverCards) {
if (maxCoverCard == null || ((AbstractDefaultCard) iCoverCard).baseCoverMagicNumber > ((AbstractDefaultCard) maxCoverCard).baseCoverMagicNumber) {
maxCoverCard = iCoverCard;
}
}
c = maxCoverCard;
}
@Override
public void update() {
((ICoverCard) c).triggerOnCovered(p);
this.isDone = true;
}
}