summaryrefslogtreecommitdiff
path: root/scripts/cards
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cards')
-rw-r--r--scripts/cards/card.js12
-rw-r--r--scripts/cards/deck.js16
2 files changed, 26 insertions, 2 deletions
diff --git a/scripts/cards/card.js b/scripts/cards/card.js
index 750d124..884e0d9 100644
--- a/scripts/cards/card.js
+++ b/scripts/cards/card.js
@@ -7,12 +7,16 @@ const CardPos = ["top", "topl", "topr", "mid", "midt", "midb", "bot", "botl", "b
// Every card should have a deck.
// Use deck.appendCard or deck.prependCard to make a card visible
class Card {
- constructor (data)
+ constructor (id, data)
{
this.e = document.createElement("card");
this.generateElements(data);
this.e.style.left = "0px";
this.e.style.top = "0px";
+
+ this.getID = function() {
+ return id;
+ }
}
// Generate a card with basic text only
@@ -107,4 +111,10 @@ class Card {
{
this.e.style.setProperty("--cpos", p);
}
+
+ resetPos()
+ {
+ this.e.style.left = "0px";
+ this.e.style.top = "0px";
+ }
}
diff --git a/scripts/cards/deck.js b/scripts/cards/deck.js
index 6da24b0..d87d619 100644
--- a/scripts/cards/deck.js
+++ b/scripts/cards/deck.js
@@ -13,7 +13,7 @@ class Deck {
y = 0;
e = null;
- constructor(options = {mode: "stack", smode: "one", sct: 0, pos: [0, 0]})
+ constructor(id, options = {mode: "stack", smode: "one", sct: 0, pos: [0, 0]})
{
// View mode
// infdraw - infinite draw. always appears as if there are multiple cards
@@ -54,6 +54,10 @@ class Deck {
this.e.style.left = this.x + "px";
this.e.style.top = this.y + "px";
this.e.setAttribute("mode", options.mode);
+
+ this.getID = function() {
+ return id;
+ }
}
updatePos()
@@ -143,4 +147,14 @@ class Deck {
var rect = this.e.getBoundingClientRect();
return (x > rect.left && x < rect.right && y > rect.top && y < rect.bottom)
}
+
+ checkCard (el)
+ {
+ for(let c of this.cards)
+ {
+ if(c.e === el)
+ return c;
+ }
+ return null;
+ }
}