Working card limits
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing

This commit is contained in:
Hamcha 2019-09-11 21:07:06 +02:00
parent 3c85c7985d
commit 80fc16d27b
Signed by: hamcha
GPG key ID: 41467804B19A3315

View file

@ -303,6 +303,17 @@ function sortByColor(a: Card, b: Card) {
return 0;
}
function cardLimit(type: string) {
switch (type) {
case "Mane Character":
return 1;
case "Problem":
return 2;
default:
return 3;
}
}
@Component({
components: {
DeckList,
@ -388,11 +399,17 @@ export default class DeckBuilder extends Vue {
private get currentPage(): CardSlot[] {
return this.filtered
.slice(this.offset, this.offset + this.itemsPerPage)
.map(card => ({
data: card,
limit: card.Type == "Problem" ? 2 : 3,
howmany: this.decklist.filter(c => c.data.ID == card.ID).length
}));
.map(card => {
const res = this.decklist.find(c => c.data.ID == card.ID);
if (res) {
return res;
}
return {
data: card,
limit: cardLimit(card.Type),
howmany: 0
};
});
}
private elementIconURL(element: string): string {
@ -466,7 +483,7 @@ export default class DeckBuilder extends Vue {
} else {
this.decklist.push({
data: card,
limit: card.Type == "Problem" ? 2 : 3,
limit: cardLimit(card.Type),
howmany: 1
});
}