Kick button, show player turn, can't join if 2-nd player alreay join

This commit is contained in:
Anibus
2020-11-22 12:39:56 +03:00
parent 6398f44d18
commit f94bf511a3
5 changed files with 100 additions and 41 deletions
+33 -18
View File
@@ -37,16 +37,16 @@ window.onload = function() {
var lobbiesAsTableRows = _.reduce(this.lobbies, function (memo, lobby) {
var joinButton = '<button class="btn btn-primary join-as-player" onclick="joinDecider(\''+lobby.lobbyActorName+'\')">' +
var joinButton = (lobby.status === "NotStarted()") ? '<button class="btn btn-primary join-as-player" onclick="joinDecider(\''+lobby.lobbyActorName+'\')">' +
'<img src="assets/images/buttons/isAuto.png" style="height: 25px;"> Join lobby <img src="assets/images/buttons/isAuto.png" style="height: 25px;">' +
'</button>';
'</button>' : "";
var observerButton = '<button class="btn btn-success join-as-observer" lobbyId="'+lobby.lobbyActorName+'">' +
'<img src="assets/images/buttons/Ulthwe.png" style="height: 25px;"> Observer <img src="assets/images/buttons/Ulthwe.png" style="height: 25px;">' +
'</button>';
return memo + '<tr>\n' +
' <td>'+ lobby.user1Name +'</td>\n' +
' <td>'+ lobby.user2Name +'</td>\n' +
' <td>'+ lobby.user1Info.name +'</td>\n' +
' <td>'+ lobby.user2Info.name +'</td>\n' +
' <td>'+ lobby.status +'</td>\n' +
' <td>' + joinButton + ' ' + observerButton +
' </td>' +
@@ -129,6 +129,9 @@ window.onload = function() {
switchToLobby(message.lobby.maps);
renderPlayersAndStats(message.lobby);
break;
case "lobbyError":
console.log(message);
disconnectLobby(message.error);
case "lobbies":
lobbyList.lobbies = message.lobbies;
lobbyList.render();
@@ -173,6 +176,12 @@ function switchToLobby(maps) {
$("#decider").show();
}
function disconnectLobby(error) {
$("#decider").hide();
$("#lobbies").show();
alert(error);
}
function renderMaps(maps) {
var resHtml = "";
@@ -203,51 +212,51 @@ function renderPlayersAndStats(lobby) {
var readyImg = "<img src='/assets/images/buttons/isAuto.png' class='readyImg'/>";
var notReadyImg = "<img src='/assets/images/buttons/isNotAuto.png' class='readyImg'/>";
if(lobby.user1Name === userName){
if(lobby.user1Ready){
if(lobby.user1Info.name === userName){
if(lobby.user1Info.isReady){
player1ReadyBtn = "<button class='btn btn-default' onclick='setNotReady()'>"+readyImg+" Ready "+readyImg+"</button>"
}else{
player1ReadyBtn = "<button class='btn btn-default' onclick='setReady()'>"+notReadyImg+" Not ready "+notReadyImg+"</button>"
}
}else{
if(lobby.user1Ready){
if(lobby.user1Info.isReady){
player1ReadyBtn = readyImg
}else{
player1ReadyBtn = notReadyImg
}
}
if(lobby.user2Name === userName){
if(lobby.user2Ready){
if(lobby.user2Info.name === userName){
if(lobby.user2Info.isReady){
player2ReadyBtn = "<button class='btn btn-default' onclick='setNotReady()'>"+readyImg+" Ready "+readyImg+"</button>"
}else{
player2ReadyBtn = "<button class='btn btn-default' onclick='setReady()'>"+notReadyImg+" Not ready "+notReadyImg+"</button>"
}
} else {
if(lobby.user2Ready){
if(lobby.user2Info.isReady){
player2ReadyBtn = readyImg
}else{
player2ReadyBtn = notReadyImg
}
}
console.log(lobby);
switch (lobby.status){
case "NotStarted()":
resHtml = "<div style='float: left'>" + lobby.user1Name + ": " + player1ReadyBtn +"</div>"
if(lobby.user2Name !== ""){
resHtml = "<div style='float: left'>" + lobby.user1Info.name + ": " + player1ReadyBtn +"</div>"
if(lobby.user2Info.name !== ""){
var kickBtn = ""
if(lobby.user1Name === userName){
kickBtn = "<button class='btn btn-danger'>Kick</button>";
if(lobby.user1Info.name === userName){
kickBtn = "<button class='btn btn-danger' onclick='kickSecondPlayer()'>Kick</button>";
}
resHtml += "<div style='float: right'>" + lobby.user2Name + ": " + player2ReadyBtn + "<br/>" + kickBtn + "</div>"
resHtml += "<div style='float: right'>" + lobby.user2Info.name + ": " + player2ReadyBtn + "<br/>" + kickBtn + "</div>"
}else{
resHtml += "<div style='float: right'>waiting 2-nd player...</div>"
}
break;
case "Draft()":
resHtml = "<center><b>"+lobby.user1Name+ " vs " + lobby.user2Name +"</b></center>";
console.log(lobby.turn);
var playerTurn = (lobby.playerTurn === 1) ? lobby.user1Info.name : lobby.user2Info.name
resHtml = "<center><b>"+lobby.user1Info.name + " vs " + lobby.user2Info.name +"</b><br/>" + playerTurn +" turn</center>";
break;
case "Finish()":
var lastMap = _.find(lobby.maps, function (map){
@@ -288,6 +297,12 @@ function joinDecider(actorName){
}));
}
function kickSecondPlayer(){
ws.send(JSON.stringify({
type: "kickSecondPlayer"
}));
}
function convertMapName (techMapName) {
var mapName = techMapName.replace("2p_", "").replaceAll("_", " ") + " (2)";
return mapName.charAt(0).toUpperCase() + mapName.slice(1);