added auto view, automatic switch to what is actively changing
This commit is contained in:
parent
0ea82ff1f8
commit
ce0dc5ac6e
@ -25,6 +25,10 @@ sub generateSession {
|
||||
"users" => {},
|
||||
"decks" => {},
|
||||
"pools" => {},
|
||||
last => {
|
||||
user => "",
|
||||
action => "",
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
@ -380,29 +384,36 @@ my $server = Net::WebSocket::Server->new(
|
||||
$current->send_utf8(to_json(\%message));
|
||||
}}
|
||||
}
|
||||
$current->send_utf8('{"push":"last","user":"'.$sessions{$sessionID}{last}{user}.'","action":"'.$sessions{$sessionID}{last}{action}.'"}');
|
||||
}}}
|
||||
$sessions{$conn->{session}}{last}{user} = $conn->{user};
|
||||
if ($messageData->{action} =~ /draw/) {
|
||||
drawCard($conn->{session},$messageData->{deck},$conn->{user},$messageData->{hand});
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"card drawn", "request":"update"}');
|
||||
}
|
||||
if ($messageData->{action} =~ /play/) {
|
||||
playCard($conn->{session},$conn->{user},$messageData->{hand},$messageData->{cardID},$messageData->{pool});
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"card played", "request":"update"}');
|
||||
}
|
||||
if ($messageData->{action} =~ /clear/) {
|
||||
my @cards = delPool($conn->{session},$messageData->{pool});
|
||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||
addPool($conn->{session},$messageData->{pool});
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"pool cleared", "request":"update"}');
|
||||
}
|
||||
if ($messageData->{action} =~ /muligan/) {
|
||||
my @cards = delHand($conn->{session},$conn->{user},$messageData->{hand});
|
||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||
addHand($conn->{session},$conn->{user},$messageData->{hand});
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"hand returned to deck","request":"update"}');
|
||||
}
|
||||
if ($messageData->{action} =~ /shuffle/) {
|
||||
shuffleDeck($conn->{session},$messageData->{deck});
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"deck shuffeled","request":"update"}');
|
||||
}
|
||||
if ($messageData->{action} =~ /add/) {
|
||||
@ -439,6 +450,7 @@ my $server = Net::WebSocket::Server->new(
|
||||
if ($messageData->{action} =~ /ddf/) {
|
||||
my @cards = generateDeck($messageData->{ddf});
|
||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||
$conn->send_utf8('{"info":"Deck file added to deck","request":"update"}');
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
window.server = "wss://test.murkfall.net:42024/";
|
||||
window.gameState = {};
|
||||
window.gameState.log = "";
|
||||
window.gameState.users = [];
|
||||
window.gameState.decks = [];
|
||||
window.gameState.pools = [];
|
||||
@ -141,6 +142,14 @@ function startGameSession() {
|
||||
if ("join" == message.request) { window.gameSession.send('{"action":"join"}'); }
|
||||
if ("update" == message.request) { window.gameSession.send('{"action":"update"}'); }
|
||||
}
|
||||
if (message.push) {
|
||||
window.gameSession.log += "<p>"+message.user+": "+message.action+"</p>";
|
||||
if ("draw" == message.action) { window.UI.menu.decks.button.checked = true; }
|
||||
if ("play" == message.action) { window.UI.menu.pools.button.checked = true; }
|
||||
if ("muligan" == message.action) { window.UI.menu.decks.button.checked = true; }
|
||||
if ("clear" == message.action) { window.UI.menu.decks.button.checked = true; }
|
||||
updateEvent();
|
||||
}
|
||||
if (message.users) { window.gameState.users = message.users; updateEvent(); }
|
||||
if (message.decks) { window.gameState.decks = message.decks; updateEvent(); }
|
||||
if (message.pools) { window.gameState.pools = message.pools; updateEvent(); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user