You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

215 lines
7.8 KiB

var ABB_Web_Users;
var ABB_Unity_Users;
var ABB_Robotstudio_Users;
var ABB_Rooms;
var actualDraggingUnityUser;
jQuery(function($)
{
var socket=io.connect();
var $nickForm=$('#setNick');
var $nickError=$('#nickError');
var $nickBox=$('#nickname');
var $users2=$('#users2');
var $usersStations=$('#usersStations');
var $usersUnity=$('#usersUnity');
var $RSrooms=$('#RSrooms');
var $messageForm=$('#send-message');
var $messageBox=$('#message');
var $chat=$('#chat');
$nickForm.submit(function(e)
{
e.preventDefault();
socket.emit('newuser',$nickBox.val(),function(data){
if(data){
$('#nickWrap').hide();
$('#contentWrap').show();
}else{
$nickError.html('That username is already taken:Try Again!');
}
});
$nickBox.val('');
});
$messageForm.submit(function(e)
{
e.preventDefault();
socket.emit('sendmessage',$messageBox.val());
$messageBox.val('');
});
socket.on('newmessage',function(data){
$chat.append('<b>'+data.nick+':</b>'+data.msg+"<br/>");
});
socket.on('usernames',function(data){
ABB_Web_Users=data.ABB_Web_Users;
var jsonStr = JSON.stringify(data);
var html='';
/*for (i=0;i<jsonStr.length;i++){
html+=jsonStr[i];
}*/
//html+=jsonStr[i];
html="ABB_Web_Users: ";
for(i=0; i<ABB_Web_Users.length; i++)
{
html+="<div class='nom'>" + ABB_Web_Users[i] + "</div>";
}
$users2.html(html);
console.log(html);
UpdateAllInfo();
});
socket.on('stationnames',function(data){
ABB_Robotstudio_Users=data.ABB_Robotstudio_Users;
var jsonStr = JSON.stringify(data);
var html='';
/*for (i=0;i<jsonStr.length;i++){
html+=jsonStr[i]
}*/
//document.getElementById("usersStations").innerHTML = cars;
html="ABB_Robotstudio_Users: ";
for(i=0; i<ABB_Robotstudio_Users.length; i++)
{
html+="<div class='nom'>" + ABB_Robotstudio_Users[i] + "</div>";
}
$usersStations.html(html);
console.log(html);
UpdateAllInfo();
});
socket.on('Unitynames',function(data){
ABB_Unity_Users=data.ABB_Unity_Users;
var jsonStr = JSON.stringify(data);
var html='';
/*for (i=0;i<jsonStr.length;i++){
html+=jsonStr[i]
}*/
//docuament.getElementById("usersStations").innerHTML = cars;
html="ABB_Unity_Users: ";
for(i=0; i<ABB_Unity_Users.length; i++)
{
html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
}
$usersUnity.html(html);
console.log(html);
UpdateAllInfo();
});
socket.on('rooms',function(data){
ABB_Rooms=data.ABB_Rooms;
var jsonStr = JSON.stringify(data);
var html='';
/*for (i=0;i<jsonStr.length;i++){
html+=jsonStr[i]
}*/
html="ABB_Rooms: ";
for(i=0; i<ABB_Rooms.length; i++)
{
html+="<div class='nom'>" + ABB_Rooms[i] + "</div>";
}
//document.getElementById("usersStations").innerHTML = cars;
$RSrooms.html(html);
console.log(html);
UpdateAllInfo();
});
});
function NoWindowsApanyo(){
//ABB_Unity_Users=["uu1"];
ABB_Rooms=["room1", "room2"];
ABB_Robotstudio_Users=["rb1", "rb2"];
UpdateUnityUsersAvailable();
}
function GenerateRandomId()
{
idgenerated=Math.random();
idgenerated=idgenerated*100;
idgenerated=Math.round(idgenerated);
idgenerated=idgenerated.toString();
return(idgenerated);
}
function OnLoadHTML(){
var socket=io.connect();
idg=GenerateRandomId();
socket.emit('newuser',idg,function(data){});
UpdateUnityUsersAvailable();
}
function UpdateUnityUsersAvailable(){
if(ABB_Unity_Users!=undefined)
{
html="ABB_Unity_Users: ";
for(i=0; i<ABB_Unity_Users.length; i++)
{
html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
}
document.getElementById('usersUnity').innerHTML=html;
}
}
function UpdateAllInfo(){
//NoWindowsApanyo();
document.getElementById("systeminfo").innerHTML="";
saux="";
if(ABB_Rooms!=undefined)
{
saux+="System info<br>";
for(i=0; i<ABB_Rooms.length; i++)
{
saux+="<div id='"+ABB_Rooms[i]+"' class='Room' ondrop='drop(event, this.id)' ondragover='allowDrop(event)'>" + ABB_Rooms[i];
if(ABB_Robotstudio_Users!=undefined)
{
for(j=0; j<ABB_Robotstudio_Users.length; j++)
{
saux+=" <div class='Robotstudio_User'>" + ABB_Robotstudio_Users[j] + "</div>";
}
}
/* if(ABB_Unity_Users!=undefined)
{
for(j=0; j<ABB_Unity_Users.length; j++)
{
saux+=" <div class='Unity_User'>" + ABB_Unity_Users[j] + "</div>";
}
}*/
saux+="</div>";
}
}
document.getElementById('systeminfo').innerHTML=saux;
}
function RemoveFromUnityUsersArray(unityusergiv){
for(var i=0; i<ABB_Unity_Users.length; i++)
{
if(ABB_Unity_Users[i]==unityusergiv)
{
ABB_Unity_Users.splice(i, 1);
}
}
}
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev, idUnityUser) {
ev.dataTransfer.setData("text", ev.target.id);
actualDraggingUnityUser=idUnityUser;
}
function drop(ev, idRoom) {
ev.preventDefault();
cont="";
cont+="<div id='"+ actualDraggingUnityUser +"' class='nom'>" + actualDraggingUnityUser + "</div>";
document.getElementById(idRoom).innerHTML+=cont;
RemoveFromUnityUsersArray(actualDraggingUnityUser);
UpdateUnityUsersAvailable();
//AQUÍ LA FUNCIÓ DE QUE UN UNITY ES CONECTA A UN ROOM:
UnityToRoom(idRoom, actualDraggingUnityUser);
}
function UnityToRoom(room, unity){
//funció de quan un unity es conecta a un room
//aqí lu del socet emit cap al server avisant de que el unity està a la room
//a la variable room i a la variable unity hi tens la info de quin unity es conecta a quin room
alert("El user: " + unity + " es conecta a la room: " + room);
//aqí pots posar la info de qin unityuser es conecta a qina room a una array o algu
}