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" => {},
|
"users" => {},
|
||||||
"decks" => {},
|
"decks" => {},
|
||||||
"pools" => {},
|
"pools" => {},
|
||||||
|
last => {
|
||||||
|
user => "",
|
||||||
|
action => "",
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -380,29 +384,36 @@ my $server = Net::WebSocket::Server->new(
|
|||||||
$current->send_utf8(to_json(\%message));
|
$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/) {
|
if ($messageData->{action} =~ /draw/) {
|
||||||
drawCard($conn->{session},$messageData->{deck},$conn->{user},$messageData->{hand});
|
drawCard($conn->{session},$messageData->{deck},$conn->{user},$messageData->{hand});
|
||||||
|
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||||
$conn->send_utf8('{"info":"card drawn", "request":"update"}');
|
$conn->send_utf8('{"info":"card drawn", "request":"update"}');
|
||||||
}
|
}
|
||||||
if ($messageData->{action} =~ /play/) {
|
if ($messageData->{action} =~ /play/) {
|
||||||
playCard($conn->{session},$conn->{user},$messageData->{hand},$messageData->{cardID},$messageData->{pool});
|
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"}');
|
$conn->send_utf8('{"info":"card played", "request":"update"}');
|
||||||
}
|
}
|
||||||
if ($messageData->{action} =~ /clear/) {
|
if ($messageData->{action} =~ /clear/) {
|
||||||
my @cards = delPool($conn->{session},$messageData->{pool});
|
my @cards = delPool($conn->{session},$messageData->{pool});
|
||||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||||
addPool($conn->{session},$messageData->{pool});
|
addPool($conn->{session},$messageData->{pool});
|
||||||
|
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||||
$conn->send_utf8('{"info":"pool cleared", "request":"update"}');
|
$conn->send_utf8('{"info":"pool cleared", "request":"update"}');
|
||||||
}
|
}
|
||||||
if ($messageData->{action} =~ /muligan/) {
|
if ($messageData->{action} =~ /muligan/) {
|
||||||
my @cards = delHand($conn->{session},$conn->{user},$messageData->{hand});
|
my @cards = delHand($conn->{session},$conn->{user},$messageData->{hand});
|
||||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||||
addHand($conn->{session},$conn->{user},$messageData->{hand});
|
addHand($conn->{session},$conn->{user},$messageData->{hand});
|
||||||
|
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||||
$conn->send_utf8('{"info":"hand returned to deck","request":"update"}');
|
$conn->send_utf8('{"info":"hand returned to deck","request":"update"}');
|
||||||
}
|
}
|
||||||
if ($messageData->{action} =~ /shuffle/) {
|
if ($messageData->{action} =~ /shuffle/) {
|
||||||
shuffleDeck($conn->{session},$messageData->{deck});
|
shuffleDeck($conn->{session},$messageData->{deck});
|
||||||
|
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||||
$conn->send_utf8('{"info":"deck shuffeled","request":"update"}');
|
$conn->send_utf8('{"info":"deck shuffeled","request":"update"}');
|
||||||
}
|
}
|
||||||
if ($messageData->{action} =~ /add/) {
|
if ($messageData->{action} =~ /add/) {
|
||||||
@ -439,6 +450,7 @@ my $server = Net::WebSocket::Server->new(
|
|||||||
if ($messageData->{action} =~ /ddf/) {
|
if ($messageData->{action} =~ /ddf/) {
|
||||||
my @cards = generateDeck($messageData->{ddf});
|
my @cards = generateDeck($messageData->{ddf});
|
||||||
addCards($conn->{session},$messageData->{deck},\@cards);
|
addCards($conn->{session},$messageData->{deck},\@cards);
|
||||||
|
$sessions{$conn->{session}}{last}{action} = $messageData->{action};
|
||||||
$conn->send_utf8('{"info":"Deck file added to deck","request":"update"}');
|
$conn->send_utf8('{"info":"Deck file added to deck","request":"update"}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
window.server = "wss://test.murkfall.net:42024/";
|
window.server = "wss://test.murkfall.net:42024/";
|
||||||
window.gameState = {};
|
window.gameState = {};
|
||||||
|
window.gameState.log = "";
|
||||||
window.gameState.users = [];
|
window.gameState.users = [];
|
||||||
window.gameState.decks = [];
|
window.gameState.decks = [];
|
||||||
window.gameState.pools = [];
|
window.gameState.pools = [];
|
||||||
@ -141,6 +142,14 @@ function startGameSession() {
|
|||||||
if ("join" == message.request) { window.gameSession.send('{"action":"join"}'); }
|
if ("join" == message.request) { window.gameSession.send('{"action":"join"}'); }
|
||||||
if ("update" == message.request) { window.gameSession.send('{"action":"update"}'); }
|
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.users) { window.gameState.users = message.users; updateEvent(); }
|
||||||
if (message.decks) { window.gameState.decks = message.decks; updateEvent(); }
|
if (message.decks) { window.gameState.decks = message.decks; updateEvent(); }
|
||||||
if (message.pools) { window.gameState.pools = message.pools; updateEvent(); }
|
if (message.pools) { window.gameState.pools = message.pools; updateEvent(); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user