Added active deck/hand/pool tracking for simplifying interactions
This commit is contained in:
parent
d4cdb9b4e4
commit
53e5b063f1
@ -157,3 +157,6 @@ body {
|
||||
margin-top:5px;
|
||||
}
|
||||
|
||||
.selected {
|
||||
background-color:rgba(255,0,0,0.5);
|
||||
}
|
||||
|
@ -15,16 +15,20 @@ window.gameState.users = [];
|
||||
window.gameState.decks = [];
|
||||
window.gameState.pools = [];
|
||||
window.gameState.hands = [];
|
||||
window.gameState.active = {};
|
||||
|
||||
function updateEvent() {
|
||||
window.UI.display.innerHTML = "";
|
||||
if (Object.keys(window.gameState.decks).length < 2) { window.gameState.active.deck = Object.keys(window.gameState.decks)[0]; }
|
||||
if (Object.keys(window.gameState.hands).length < 2) { window.gameState.active.hand = Object.keys(window.gameState.hands)[0]; }
|
||||
if (Object.keys(window.gameState.pools).length < 2) { window.gameState.active.pool = Object.keys(window.gameState.pools)[0]; }
|
||||
if (window.UI.menu.decks.button.checked) {
|
||||
elementPlace("#display","decks",null,"ol");
|
||||
var myKeys = Object.keys(window.gameState.decks);
|
||||
myKeys.sort();
|
||||
myKeys.forEach(function (deckID) {
|
||||
var deck = window.gameState.decks[deckID];
|
||||
window.UI.display[deckID] = elementPlace("#decks","Deck_"+deck.name,"deck","li");
|
||||
window.UI.display[deckID] = elementPlace("#decks","Deck_"+deck.name,"deck"+(deck.name == window.gameState.active.deck ? " selected" : ""),"li");
|
||||
window.UI.display[deckID].innerText = deck.name+":"+deck.size;
|
||||
buttonAdd("#Deck_"+deck.name,null,"Add Cards", function () {
|
||||
popupDialog("deckLoader","Select DDF (Deck Definition File)",true,inputDialog,{"inputType":"file"},function (f) {
|
||||
@ -43,11 +47,15 @@ function updateEvent() {
|
||||
window.gameSession.send('{"action":"shuffle", "deck":"'+deckID+'"}');
|
||||
}, "deck_button shuffle","div");
|
||||
buttonAdd("#Deck_"+deck.name,null,"Draw", function () {
|
||||
window.gameSession.send('{"action":"draw","deck":"'+deckID+'","hand":"'+"default"+'"}'); // Will need to be updated when I figure out selection
|
||||
window.gameSession.send('{"action":"draw","deck":"'+deckID+'","hand":"'+window.gameState.active.hand+'"}'); // Will need to be updated when I figure out selection
|
||||
}, "deck_button draw","div");
|
||||
buttonAdd("#Deck_"+deck.name,null,"X", function () {
|
||||
window.gameSession.send('{"action":"del","type":"deck","id":"'+deckID+'"}');
|
||||
}, "deck_button delete", "div");
|
||||
window.UI.display[deckID].onclick = function () {
|
||||
window.gameState.active.deck = deck.name;
|
||||
updateEvent();
|
||||
};
|
||||
});
|
||||
buttonAdd("#decks",null,"+",function () {
|
||||
popupDialog("addDeck","Please name new deck",true, inputDialog,{"inputType":"text"},function (newDeckName) {
|
||||
@ -69,7 +77,7 @@ function updateEvent() {
|
||||
myHands.sort();
|
||||
myHands.forEach(function (handID) {
|
||||
var hand = window.gameState.hands[handID];
|
||||
window.UI.display[handID] = elementPlace("#hands","Hand_"+hand.name,"hand","li");
|
||||
window.UI.display[handID] = elementPlace("#hands","Hand_"+hand.name,"hand"+(hand.name == window.gameState.active.hand ? " selected" : ""),"li");
|
||||
window.UI.display[handID].controls = elementPlace("#Hand_"+hand.name,null,"controls","div");
|
||||
window.UI.display[handID].controls.innerHTML = "<div>"+hand.name+"</div>";
|
||||
// Muligan Hand
|
||||
@ -80,6 +88,10 @@ function updateEvent() {
|
||||
window.UI.display[handID].cards[index].innerHTML = card;
|
||||
// Play Card
|
||||
});
|
||||
window.UI.display[handID].onclick = function () {
|
||||
window.gameState.active.hand = hand.name;
|
||||
updateEvent();
|
||||
}
|
||||
});
|
||||
// Add Hand
|
||||
}
|
||||
@ -89,9 +101,13 @@ function updateEvent() {
|
||||
myPools.sort();
|
||||
myPools.forEach(function (poolID) {
|
||||
var pool = window.gameState.pools[poolID];
|
||||
window.UI.display[poolID] = elementPlace("#pools","Pool_"+pool.name,"pool","li");
|
||||
window.UI.display[poolID] = elementPlace("#pools","Pool_"+pool.name,"pool"+(pool.name == window.gameState.active.pool ? " selected" : ""),"li");
|
||||
window.UI.display[poolID].innerText = pool.name+":"+pool.top;
|
||||
// Delete Pool
|
||||
window.UI.display[poolID].onclick = function () {
|
||||
window.gameState.active.pool = pool.name;
|
||||
updateEvent();
|
||||
}
|
||||
});
|
||||
// Add Pool
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user