let addButton = document.getElementById("addPlayer"); let deleteButton = document.getElementById("removePlayer"); let changeTickButton = document.getElementById("changeTick"); let changeIdButton = document.getElementById("tickLeistenId"); let reloadButton = document.getElementById("reload"); let saveButton = document.getElementById("save"); let url = "wss://nerfingen.de/tickLeisteSocket/"; var players = []; let Id = "Test" //Math.floor(Math.random()*10000000000000000).toString(16) var ws = new WebSocket(url + Id); document.getElementById("p4").innerHTML = "" + Id; /* Handles Events from Server */ ws.onmessage = function(evt) {messageHandling(evt)}; function messageHandling(evt){ var msg = evt.data; var obj = JSON.parse(msg); var valid = false; /*Changes Tick of one Player in players. Updates the Playerlist and current Player.*/ if (obj.eventType == "SetPlayerTickE") { valid = true; for (var i = 0; i < players.length; i++){ if (players[i].UUID == obj.playerUUID){ if (obj.tick.tickType == "Tick"){ players[i].Tick = obj.tick.tickValue; } else { players[i].Tick = obj.tick.tickType; } var pl = players[i]; players.splice(i,1); AddPlayer(pl); break; } } PlayerList(); CurrentPlayer(); } /*Adds Player and their Tick to players. Updates the Playerlist and current Player.*/ if (obj.eventType == "AddPlayerTickE") { valid = true; var newPlayer = new Object (); newPlayer.Name = obj.playerName; newPlayer.UUID = obj.playerUUID; if (obj.tick.tickType == "Tick"){ newPlayer.Tick = obj.tick.tickValue; } else { newPlayer.Tick = obj.tick.tickType; } AddPlayer(newPlayer); PlayerList(); CurrentPlayer(); } /*Adds players an their Ticks to players. Updates the Playerlist and current Player.*/ if (obj.eventType == "InitializeTickLeisteE") { valid = true; players = []; for (var i = 0; i"; } document.getElementById("p3").innerHTML = content; } /*Updates the current Player according to the Player with the smallest Tick in players.*/ function CurrentPlayer(){ if (players.length > 0 ){ document.getElementById("p2").innerHTML = players[0].Name; document.getElementById("p1").innerHTML = "" + players[0].Tick; } else{ document.getElementById("p2").innerHTML = "-"; document.getElementById("p1").innerHTML = "-"; } } function AddPlayer(player){ if (players.length == 0){ players.push(player); } else { var added = false; if (player.Tick == "Abwarten"){ players.push(player); } else { if (player.Tick == "Bereithalten"){ for (var i = players.length; i>0;i--){ if (players[i-1].Tick != "Abwarten"){ players.splice(i,0,player); added = true; break; } if (i == 1 && added == false){ players.splice(0,0,player); break; } } } else { for (var i = 0; i tick){ tick = arr[i].Tick; tickleiste = tickleiste + ']], [{"tickType" : "' + type + '", "tickvalue" : "' + arr[i].Tick + '"}, ["' + arr[i].Name + '"'; } else { tick = arr[i].Tick; tickleiste = tickleiste + ', "' + arr[i].Name + '"'; } } tickleiste = tickleiste.slice(4); tickleiste = '{"requestType" : "InitializeTickLeisteR", "tickLeiste" : [' + tickleiste + ']]]}'; return tickleiste; } function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/json;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); }