mirror of https://github.com/bra1n/townsquare.git
fix swapping and moving players in live sessions (fixes #46)
This commit is contained in:
parent
ef42239d2c
commit
e19aa7a6fe
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "townsquare",
|
||||
"version": "1.3.0",
|
||||
"version": "1.4.2",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -5015,9 +5015,9 @@
|
|||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
|
||||
"version": "4.17.19",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
|
||||
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ=="
|
||||
},
|
||||
"lodash.defaultsdeep": {
|
||||
"version": "4.6.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "townsquare",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.2",
|
||||
"description": "Blood on the Clocktower Town Square",
|
||||
"author": "Steffen Baumgart",
|
||||
"scripts": {
|
||||
|
|
|
@ -82,6 +82,8 @@ export default {
|
|||
|
||||
.icon {
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center 30%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
|
|
@ -102,6 +102,8 @@ const mutations = {
|
|||
state.players[to],
|
||||
state.players[from]
|
||||
];
|
||||
// hack: "modify" the array so that Vue notices something changed
|
||||
state.players.splice(0, 0);
|
||||
},
|
||||
move(state, [from, to]) {
|
||||
state.players.splice(to, 0, state.players.splice(from, 1)[0]);
|
||||
|
|
|
@ -105,9 +105,19 @@ class LiveSession {
|
|||
this._handlePing(params);
|
||||
break;
|
||||
case "nomination":
|
||||
if (!this._isSpectator) return;
|
||||
this._store.commit("session/nomination", { nomination: params });
|
||||
break;
|
||||
case "swap":
|
||||
if (!this._isSpectator) return;
|
||||
this._store.commit("players/swap", params);
|
||||
break;
|
||||
case "move":
|
||||
if (!this._isSpectator) return;
|
||||
this._store.commit("players/move", params);
|
||||
break;
|
||||
case "votingSpeed":
|
||||
if (!this._isSpectator) return;
|
||||
this._store.commit("session/setVotingSpeed", params);
|
||||
break;
|
||||
case "vote":
|
||||
|
@ -495,6 +505,24 @@ class LiveSession {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Swap two player seats. ST only
|
||||
* @param payload
|
||||
*/
|
||||
swapPlayer(payload) {
|
||||
if (this._isSpectator) return;
|
||||
this._send("swap", payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Move a player to another seat. ST only
|
||||
* @param payload
|
||||
*/
|
||||
movePlayer(payload) {
|
||||
if (this._isSpectator) return;
|
||||
this._send("move", payload);
|
||||
}
|
||||
}
|
||||
|
||||
export default store => {
|
||||
|
@ -530,9 +558,13 @@ export default store => {
|
|||
case "setEdition":
|
||||
session.sendEdition();
|
||||
break;
|
||||
case "players/set":
|
||||
case "players/swap":
|
||||
session.swapPlayer(payload);
|
||||
break;
|
||||
case "players/move":
|
||||
session.movePlayer(payload);
|
||||
break;
|
||||
case "players/set":
|
||||
case "players/clear":
|
||||
case "players/remove":
|
||||
case "players/add":
|
||||
|
|
Loading…
Reference in New Issue