Add basic deck builder #12
1 changed files with 23 additions and 6 deletions
|
@ -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 => ({
|
||||
.map(card => {
|
||||
const res = this.decklist.find(c => c.data.ID == card.ID);
|
||||
if (res) {
|
||||
return res;
|
||||
}
|
||||
return {
|
||||
data: card,
|
||||
limit: card.Type == "Problem" ? 2 : 3,
|
||||
howmany: this.decklist.filter(c => c.data.ID == card.ID).length
|
||||
}));
|
||||
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
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue