Compare commits

...

10 commits

2 changed files with 84 additions and 46 deletions

View file

@ -13,7 +13,7 @@
<img src="tickleiste.png" width= "100%" height= "auto"> <img src="tickleiste.png" width= "100%" height= "auto">
<form> <form>
<input type="text" pattern="[0-9a-f]" placeholder="TickleistenID" id="D"> <input type="text" pattern="[a-f0-9]" placeholder="TickleistenID" id="D">
<input type="button" class="sub" value="Tickleiste ändern" id="tickLeistenId"> <input type="button" class="sub" value="Tickleiste ändern" id="tickLeistenId">
</form> </form>
<form> <form>

View file

@ -4,27 +4,37 @@ let changeTickButton = document.getElementById("changeTick");
let changeIdButton = document.getElementById("tickLeistenId"); let changeIdButton = document.getElementById("tickLeistenId");
let reloadButton = document.getElementById("reload"); let reloadButton = document.getElementById("reload");
let saveButton = document.getElementById("save"); let saveButton = document.getElementById("save");
let url = "wss://nerfingen.de/tickLeisteSocket/";
var players = []; var players = [];
let Id = Math.floor(Math.random()*10000000000000000).toString(16) let Id = "Test" //Math.floor(Math.random()*10000000000000000).toString(16)
var ws = new WebSocket("wss://nerfingen.de:8080/" + Id); var ws = new WebSocket(url + Id);
document.getElementById("p4").innerHTML = "" + Id; document.getElementById("p4").innerHTML = "" + Id;
/* Handles Events from Server */ /* Handles Events from Server */
ws.onmessage = function(evt){ ws.onmessage = function(evt) {messageHandling(evt)};
function messageHandling(evt){
var msg = evt.data; var msg = evt.data;
var obj = JSON.parse(msg); var obj = JSON.parse(msg);
var valid = false; var valid = false;
/*Changes Tick of one Player in players. Updates the Playerlist and current Player.*/ /*Changes Tick of one Player in players. Updates the Playerlist and current Player.*/
if (obj.eventType == "SetPlayerTickE") { if (obj.eventType == "SetPlayerTickE") {
valid = true; valid = true;
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
if (players[i].UUID == obj.playerUUID){ if (players[i].UUID == obj.playerUUID){
players[i].Tick = obj.tick.tickValue; if (obj.tick.tickType == "Tick"){
players[i].Tick = obj.tick.tickValue;
}
else {
players[i].Tick = obj.tick.tickType;
}
var pl = players[i]; var pl = players[i];
players.splice(i,1); players.splice(i,1);
AddPlayer(pl); AddPlayer(pl);
break;
} }
} }
PlayerList(); PlayerList();
@ -37,10 +47,10 @@ ws.onmessage = function(evt){
newPlayer.Name = obj.playerName; newPlayer.Name = obj.playerName;
newPlayer.UUID = obj.playerUUID; newPlayer.UUID = obj.playerUUID;
if (obj.tick.tickType == "Tick"){ if (obj.tick.tickType == "Tick"){
newPlayer.Tick = obj.tick.tickValue; newPlayer.Tick = obj.tick.tickValue;
} }
else { else {
newPlayer.Tick = tickType; newPlayer.Tick = obj.tick.tickType;
} }
AddPlayer(newPlayer); AddPlayer(newPlayer);
PlayerList(); PlayerList();
@ -50,11 +60,17 @@ ws.onmessage = function(evt){
if (obj.eventType == "InitializeTickLeisteE") { if (obj.eventType == "InitializeTickLeisteE") {
valid = true; valid = true;
players = []; players = [];
for (i = 0; i<obj.tickLeiste.length;i++){ for (var i = 0; i<obj.tickLeiste.length;i++){
for (j =0;j<obj.tickLeiste[i][1].length;j++ ){ for (var j =0;j<obj.tickLeiste[i][1].length;j++){
AddPlayer({Tick: obj.tickLeiste[i][0].tickValue, UUID: obj.tickLeiste[i][1][j][0], Name: obj.tickLeiste[i][1][j][1]}); if (obj.tickLeiste[i][0].tickType == "Tick"){
AddPlayer({Tick: obj.tickLeiste[i][0].tickValue, UUID: obj.tickLeiste[i][1][j][0], Name: obj.tickLeiste[i][1][j][1]});
}
else {
AddPlayer({Tick: obj.tickLeiste[i][0].tickType, UUID: obj.tickLeiste[i][1][j][0], Name: obj.tickLeiste[i][1][j][1]});
}
} }
} }
PlayerList(); PlayerList();
CurrentPlayer(); CurrentPlayer();
@ -62,7 +78,7 @@ ws.onmessage = function(evt){
/*Changes the Name of a Player in players. Updates the Playerlist and current Player*/ /*Changes the Name of a Player in players. Updates the Playerlist and current Player*/
if (obj.eventType == "ChangeNameE") { if (obj.eventType == "ChangeNameE") {
valid = true; valid = true;
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
if (players[i].UUID == obj.playerUUID){ if (players[i].UUID == obj.playerUUID){
players[i].Name = obj.playerName; players[i].Name = obj.playerName;
} }
@ -73,7 +89,7 @@ ws.onmessage = function(evt){
/*Removes one Player from players. Updates the Playerlist and current Player*/ /*Removes one Player from players. Updates the Playerlist and current Player*/
if (obj.eventType == "RemovePlayerE") { if (obj.eventType == "RemovePlayerE") {
valid = true; valid = true;
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
if (players[i].UUID == obj.playerUUID){ if (players[i].UUID == obj.playerUUID){
players.splice(i,1); players.splice(i,1);
} }
@ -94,20 +110,25 @@ addButton.onclick = function() {
var type = ""; var type = "";
if (document.getElementById("A2").value == "Abwarten") { if (document.getElementById("A2").value == "Abwarten") {
type = "Abwarten"; type = "Abwarten";
} ws.send('{"requestType" : "AddPlayerTickR", "playerName" : "' + document.getElementById("A1").value + '" , "tick" : {"tickType" : "' + type + '"}}');
if (document.getElementById("A2").value == "Bereithalten") {
type = "Bereithalten";
} }
else { else {
type = "Tick"; if (document.getElementById("A2").value == "Bereithalten") {
type = "Bereithalten";
ws.send('{"requestType" : "AddPlayerTickR", "playerName" : "' + document.getElementById("A1").value + '" , "tick" : {"tickType" : "' + type + '"}}');
}
else {
type = "Tick";
ws.send('{"requestType" : "AddPlayerTickR", "playerName" : "' + document.getElementById("A1").value + '" , "tick" : {"tickType" : "' + type + '", "tickValue" : ' + document.getElementById("A2").value + '}}');
}
} }
ws.send('{"requestType" : "AddPlayerTickR", "playerName" : "' + document.getElementById("A1").value + '" , "tick" : {"tickType" : "' + type + '", "tickValue" : ' + document.getElementById("A2").value + '}}');
} }
/*When the Button is clicked, a RemovePlayerR request is send to the server.*/ /*When the Button is clicked, a RemovePlayerR request is send to the server.*/
deleteButton.onclick = function() { deleteButton.onclick = function() {
var UUID = ""; var UUID = "";
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
if (players[i].Name == document.getElementById("B").value){ if (players[i].Name == document.getElementById("B").value){
UUID = players[i].UUID; UUID = players[i].UUID;
} }
@ -120,28 +141,30 @@ changeTickButton.onclick = function() {
var UUID = ""; var UUID = "";
var Tick = document.getElementById("C2").value; var Tick = document.getElementById("C2").value;
var type = ""; var type = "";
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
if (players[i].Name == document.getElementById("C1").value){ if (players[i].Name == document.getElementById("C1").value){
UUID = players[i].UUID; UUID = players[i].UUID;
if (players[i].tick == "Abwarten" || players[i].tick == "Bereithalten"){ if (Tick == "Abwarten" || Tick == "Bereithalten"){
type = players[i].Tick; ws.send('{"requestType" : "SetPlayerTickR", "playerUUID" : "' + UUID + '", "tick" : {"tickType" : "' + Tick + '"}}');
break;
} }
else { else {
type = "Tick"; type = "Tick";
ws.send('{"requestType" : "SetPlayerTickR", "playerUUID" : "' + UUID + '", "tick" : {"tickType" : "' + type + '", "tickValue" : ' + Tick + '}}');
break;
} }
} }
} }
/*console.log(Tick);
console.log('{"requestType" : "SetPlayerTickR", "playerUUID" : "' + UUID + '", "tick" : {"tickType" : "' + type + '", "tickValue" : ' + Tick + '}}');*/
ws.send('{"requestType" : "SetPlayerTickR", "playerUUID" : "' + UUID + '", "tick" : {"tickType" : "' + type + '", "tickValue" : ' + Tick + '}}');
} }
/*When the Button is clicked, a new WebSocket connection is opened with the new ID*/ /*When the Button is clicked, a new WebSocket connection is opened with the new ID*/
changeIdButton.onclick = function() { changeIdButton.onclick = function() {
Id = document.getElementById("D").value; newId = document.getElementById("D").value;
ws.close(); ws.close();
ws = new WebSocket("wss://nerfingen.de:8080/" + Id); ws = new WebSocket(url + newId);
document.getElementById("p4").innerHTML = "" + Id; document.getElementById("p4").innerHTML = "" + newId;
ws.onmessage = function(evt) {messageHandling(evt)};
} }
/*When the Button is clicked, a TickLeisteR request is send to the server.*/ /*When the Button is clicked, a TickLeisteR request is send to the server.*/
@ -157,7 +180,7 @@ saveButton.onclick = function(){
/*Updates the Playerlist according to the content of players.*/ /*Updates the Playerlist according to the content of players.*/
function PlayerList(){ function PlayerList(){
var content = ""; var content = "";
for (i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
content = content + players[i].Name + " " + players[i].Tick + "<br>"; content = content + players[i].Name + " " + players[i].Tick + "<br>";
} }
document.getElementById("p3").innerHTML = content; document.getElementById("p3").innerHTML = content;
@ -169,43 +192,58 @@ function CurrentPlayer(){
document.getElementById("p2").innerHTML = players[0].Name; document.getElementById("p2").innerHTML = players[0].Name;
document.getElementById("p1").innerHTML = "" + players[0].Tick; document.getElementById("p1").innerHTML = "" + players[0].Tick;
} }
else{
document.getElementById("p2").innerHTML = "-";
document.getElementById("p1").innerHTML = "-";
}
} }
function AddPlayer(player){ function AddPlayer(player){
var hinzugefügt = false; if (players.length == 0){
if (player.length == 0){ players.push(player);
players.push(player); }
} else {
var added = false;
if (player.Tick == "Abwarten"){ if (player.Tick == "Abwarten"){
players.push(player); players.push(player);
} }
else { else {
if (player.Tick == "Bereithalten"){ if (player.Tick == "Bereithalten"){
for (i = players.length; i>0;i++){ for (var i = players.length; i>0;i--){
if (players[i-1].Tick != "Abwarten"){ if (players[i-1].Tick != "Abwarten"){
players.splice(i,0,player); players.splice(i,0,player);
hinzugefügt = true; added = true;
break; break;
} }
if (i == 1 && hinzugefügt == false){ if (i == 1 && added == false){
players.splice(0,0,player); players.splice(0,0,player);
break;
} }
} }
} }
else { else {
for (i = 0; i<players.length;i++){ for (var i = 0; i<players.length;i++){
if (player.Tick < players[i].Tick){ if (players[i].Tick == "Abwarten" || players[i].Tick == "Bereithalten"){
players.splice(i,0,player); players.splice(i,0,player);
hinzugefügt = true; added = true;
break; break
}
else {
if (player.Tick < players[i].Tick){
players.splice(i,0,player);
added = true;
break;
}
if (i == (players.length -1) && added == false){
players.push(player);
break;
}
} }
if (i == players.length -1 && hinzugefügt == false){
players.push(player);
}
} }
} }
} }
} }
}
function loadFile(input){ function loadFile(input){
let file = input.files[0]; let file = input.files[0];
@ -228,11 +266,11 @@ function loadFile(input){
function initializeJSONFormat(arr) { function initializeJSONFormat(arr) { // JSON ändern
var tick = -999; var tick = -999;
var tickleiste = ""; var tickleiste = "";
var type = ""; var type = "";
for (i=0;i<arr.length;i++){ for (var i=0;i<arr.length;i++){
if (arr[i].Tick == "Abwarten" || arr[i].Tick == "Bereithalten"){ if (arr[i].Tick == "Abwarten" || arr[i].Tick == "Bereithalten"){
type = arr[i].Tick; type = arr[i].Tick;
} }