Add basic deck builder #12

Merged
hamcha merged 42 commits from feature/deckbuilder into master 2019-09-12 09:11:32 +00:00
Showing only changes of commit 80fc16d27b - Show all commits

View file

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