Add basic deck builder #12

Merged
hamcha merged 42 commits from feature/deckbuilder into master 2019-09-12 09:11:32 +00:00
1 changed files with 23 additions and 6 deletions
Showing only changes of commit 80fc16d27b - Show all commits

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
});
}