";
if(!isSolo){
resHtml += "
" + firstPlayerInfo.name + " ";
resHtml += "
";
if(raceCount >= 2){
resHtml += "
";
}
if(raceCount >= 3){
resHtml += "
";
}
if(raceCount >= 4){
resHtml += "
";
}
resHtml += "
" + secondPlayerInfo.name + " ";
resHtml += "
";
if(raceCount >= 2){
resHtml += "
";
}
if(raceCount >= 3){
resHtml += "
";
}
if(raceCount >= 4){
resHtml += "
";
}
}
resHtml += ""
$("#mapList").html(resHtml);
}
function renderPlayersAndStats(lobby) {
var resHtml = "
";
var player1ReadyBtn = "";
var player2ReadyBtn = "";
var readyImg = " ";
var notReadyImg = " ";
var warningClass = (lobby.user2Info.name !== "") ? "warningButton" : "";
if(lobby.user1Info.name === userName){
if(lobby.user1Info.isReady){
player1ReadyBtn = ""+readyImg+" Ready "+readyImg+" "
}else{
player1ReadyBtn = ""+notReadyImg+" Not ready "+notReadyImg+" "
}
}else{
if(lobby.user1Info.isReady){
player1ReadyBtn = readyImg
}else{
player1ReadyBtn = notReadyImg
}
}
if(lobby.user2Info.name === userName){
if(lobby.user2Info.isReady){
player2ReadyBtn = ""+readyImg+" Ready "+readyImg+" "
}else{
player2ReadyBtn = ""+notReadyImg+" Not ready "+notReadyImg+" "
}
} else {
if(lobby.user2Info.isReady){
player2ReadyBtn = readyImg
}else{
player2ReadyBtn = notReadyImg
}
}
if (lobby.user1Info.name === userName || lobby.user2Info.name === userName) {
$("#inputMsg").show();
} else {
$("#inputMsg").hide();
}
var lobbyTypeText = "";
var last1Selected = "";
var last3Selected = "";
var last5Selected = "";
var last7Selected = "";
var isNecronsSelected = "";
if(lobby.isNecrons) isNecronsSelected = "checked";
switch (lobby.selectedType) {
case "Last1()":
looserPickSelected = "selected";
lobbyTypeText = "Play on last map";
break;
case "Last3()":
last3Selected = "selected";
lobbyTypeText = "Play on last 3 maps";
break;
case "Last5()":
last5Selected = "selected";
lobbyTypeText = "Play on last 5 maps";
break;
case "Last7()":
last7Selected = "selected";
lobbyTypeText = "Play on last 7 maps";
break;
}
console.log(lobby.status);
switch (lobby.status) {
case "NotStarted()":
resHtml = " " + lobby.user1Info.name + ": " + player1ReadyBtn +"
"
if(lobby.user2Info.name !== ""){
var kickBtn = ""
if(lobby.user1Info.name === userName){
kickBtn = " -
Kick ";
}
resHtml += "
" + lobby.user2Info.name + ": " + player2ReadyBtn + kickBtn + "
"
}else{
resHtml += "
waiting 2-nd player...
"
}
var disabledText = "";
if(lobby.user1Info.name !== userName){
disabledText = "disabled";
}
//TODO: here from config
resHtml += "
" +
"Play on last map " +
"Play on last 3 maps " +
"Play on last 5 maps " +
"Play on last 7 maps " +
" ";
if(lobby.user1Info.name !== userName && lobby.user2Info.name !== userName){
disabledText = "disabled";
}else{
disabledText = "";
}
/*for(var i = 1; i <= 9; i++){
resHtml += '
';
}*/
resHtml += "
";
break;
case "SelectRace()":
resHtml = ""+lobby.user1Info.name + " vs " + lobby.user2Info.name + " - " +lobbyTypeText+ " players select races ";
break;
case "Draft()":
if(!isDraftStarted){
isDraftStarted = true;
}
if(!isSolo){
var playerTurn = (lobby.playerTurn === 1) ? lobby.user1Info.name : lobby.user2Info.name
resHtml = ""+lobby.user1Info.name + " vs " + lobby.user2Info.name + " - " +lobbyTypeText+ "" + playerTurn +" turn ";
resHtml += " ";
if(raceCount > 1){
resHtml += " ";
}
if(raceCount > 2){
resHtml += " ";
}
if(raceCount > 3){
resHtml += " ";
}
resHtml += " VS ";
resHtml += " ";
if(raceCount > 1){
resHtml += " ";
}
if(raceCount > 2){
resHtml += " ";
}
if(raceCount > 3){
resHtml += " ";
}
}
break;
case "Finish()":
renderFinish(lobby.maps, lobby.user1Info, lobby.user2Info);
break;
}
resHtml = resHtml + " "
$("#playersStatsList").html(resHtml);
}
function addMessageToChat(message){
var messageHtml = " " + message.userName + " : " + message.message + "
";
var chatBox = $("#chatbox");
chatBox.append(messageHtml);
chatBox.scrollTop(40000);
}
function handleMapBanEvent(message){
if(!isMuted){
var audioPick = new Audio('/assets/sound/pick.mp3.mpeg');
audioPick.volume = 0.1;
audioPick.play();
}
var messageHtml = "" + convertMapName(message.mapTechName) + " banned by " + message.user + "
";
var chatBox = $("#chatbox");
chatBox.append(messageHtml);
chatBox.scrollTop(40000);
}
function banMap(map){
ws.send(JSON.stringify({
type: "banMap",
map: map
}));
}
function setReady(){
ws.send(JSON.stringify({
type: "setReady"
}));
}
function setNotReady(){
ws.send(JSON.stringify({
type: "setNotReady"
}));
}
function changeLobbyType(){
var lobbyType = $("#deciderOption").val();
ws.send(JSON.stringify({
type: "changeLobbyType",
lobbyType: lobbyType
}));
}
function changeIsNecronSelected(){
var isNecronSelected = $("#isNecron").is(':checked');
ws.send(JSON.stringify({
type: "changeIsNecronSelected",
isNecronSelected: isNecronSelected
}));
}
function joinDecider(actorName){
isObserver = false;
ws.send(JSON.stringify({
type: "joinDecider",
lobbyActorName: actorName
}));
}
function observerDecider(actorName){
isObserver = true;
ws.send(JSON.stringify({
type: "observerDecider",
lobbyActorName: actorName
}));
}
function sendMessage(){
var userInput = $("#usermsg");
var message = userInput.val();
userInput.val("");
if(message !== ""){
ws.send(JSON.stringify({
type: "sendMessage",
message: message
}));
}
}
function kickSecondPlayer(){
ws.send(JSON.stringify({
type: "kickSecondPlayer"
}));
}
function convertMapName (techMapName) {
var mapPlayerSize = techMapName.charAt(0);
var mapName = techMapName.replace(mapPlayerSize + "p_", "").replaceAll("_", " ") +
" ("+mapPlayerSize+")";
return mapName.charAt(0).toUpperCase() + mapName.slice(1);
}