comunicationLeap/functions.js
functions.jsRaw
1var ABB_Web_Users;
2var ABB_Unity_Users;
3var ABB_Robotstudio_Users;
4var ABB_Rooms;
5var actualDraggingUnityUser;
6
7
8 jQuery(function($)
9 {
10 var socket=io.connect();
11 var $nickForm=$('#setNick');
12 var $nickError=$('#nickError');
13 var $nickBox=$('#nickname');
14 var $users2=$('#users2');
15 var $usersStations=$('#usersStations');
16 var $usersUnity=$('#usersUnity');
17 var $RSrooms=$('#RSrooms');
18 var $messageForm=$('#send-message');
19 var $messageBox=$('#message');
20 var $chat=$('#chat');
21 $nickForm.submit(function(e)
22 {
23 e.preventDefault();
24 socket.emit('newuser',$nickBox.val(),function(data){
25 if(data){
26 $('#nickWrap').hide();
27 $('#contentWrap').show();
28 }else{
29 $nickError.html('That username is already taken:Try Again!');
30 }
31 });
32 $nickBox.val('');
33 });
34 $messageForm.submit(function(e)
35 {
36 e.preventDefault();
37 socket.emit('sendmessage',$messageBox.val());
38 $messageBox.val('');
39 });
40 socket.on('newmessage',function(data){
41 $chat.append('<b>'+data.nick+':</b>'+data.msg+"<br/>");
42 });
43 socket.on('usernames',function(data){
44 ABB_Web_Users=data.ABB_Web_Users;
45 var jsonStr = JSON.stringify(data);
46 var html='';
47 /*for (i=0;i<jsonStr.length;i++){
48 html+=jsonStr[i];
49 }*/
50 //html+=jsonStr[i];
51 html="ABB_Web_Users: ";
52 for(i=0; i<ABB_Web_Users.length; i++)
53 {
54 html+="<div class='nom'>" + ABB_Web_Users[i] + "</div>";
55 }
56
57 $users2.html(html);
58 console.log(html);
59 UpdateAllInfo();
60 });
61 socket.on('stationnames',function(data){
62 ABB_Robotstudio_Users=data.ABB_Robotstudio_Users;
63 var jsonStr = JSON.stringify(data);
64 var html='';
65 /*for (i=0;i<jsonStr.length;i++){
66 html+=jsonStr[i]
67 }*/
68 //document.getElementById("usersStations").innerHTML = cars;
69 html="ABB_Robotstudio_Users: ";
70 for(i=0; i<ABB_Robotstudio_Users.length; i++)
71 {
72 html+="<div class='nom'>" + ABB_Robotstudio_Users[i] + "</div>";
73 }
74 $usersStations.html(html);
75 console.log(html);
76 UpdateAllInfo();
77 });
78 socket.on('Unitynames',function(data){
79 ABB_Unity_Users=data.ABB_Unity_Users;
80 var jsonStr = JSON.stringify(data);
81 var html='';
82 /*for (i=0;i<jsonStr.length;i++){
83 html+=jsonStr[i]
84 }*/
85 //docuament.getElementById("usersStations").innerHTML = cars;
86 html="ABB_Unity_Users: ";
87 for(i=0; i<ABB_Unity_Users.length; i++)
88 {
89 html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
90 }
91 $usersUnity.html(html);
92 console.log(html);
93 UpdateAllInfo();
94 });
95 socket.on('rooms',function(data){
96 ABB_Rooms=data.ABB_Rooms;
97 var jsonStr = JSON.stringify(data);
98 var html='';
99 /*for (i=0;i<jsonStr.length;i++){
100 html+=jsonStr[i]
101 }*/
102 html="ABB_Rooms: ";
103 for(i=0; i<ABB_Rooms.length; i++)
104 {
105 html+="<div class='nom'>" + ABB_Rooms[i] + "</div>";
106 }
107 //document.getElementById("usersStations").innerHTML = cars;
108 $RSrooms.html(html);
109 console.log(html);
110 UpdateAllInfo();
111 });
112 });
113 function NoWindowsApanyo(){
114 //ABB_Unity_Users=["uu1"];
115 ABB_Rooms=["room1", "room2"];
116 ABB_Robotstudio_Users=["rb1", "rb2"];
117
118 UpdateUnityUsersAvailable();
119 }
120 function GenerateRandomId()
121 {
122 idgenerated=Math.random();
123 idgenerated=idgenerated*100;
124 idgenerated=Math.round(idgenerated);
125 idgenerated=idgenerated.toString();
126 return(idgenerated);
127 }
128 function OnLoadHTML(){
129 var socket=io.connect();
130 idg=GenerateRandomId();
131 socket.emit('newuser',idg,function(data){});
132 UpdateUnityUsersAvailable();
133 }
134 function UpdateUnityUsersAvailable(){
135 if(ABB_Unity_Users!=undefined)
136 {
137 html="ABB_Unity_Users: ";
138 for(i=0; i<ABB_Unity_Users.length; i++)
139 {
140 html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
141 }
142 document.getElementById('usersUnity').innerHTML=html;
143 }
144 }
145 function UpdateAllInfo(){
146
147 //NoWindowsApanyo();
148
149 document.getElementById("systeminfo").innerHTML="";
150 saux="";
151 if(ABB_Rooms!=undefined)
152 {
153 saux+="System info<br>";
154 for(i=0; i<ABB_Rooms.length; i++)
155 {
156 saux+="<div id='"+ABB_Rooms[i]+"' class='Room' ondrop='drop(event, this.id)' ondragover='allowDrop(event)'>" + ABB_Rooms[i];
157 if(ABB_Robotstudio_Users!=undefined)
158 {
159 for(j=0; j<ABB_Robotstudio_Users.length; j++)
160 {
161 saux+=" <div class='Robotstudio_User'>" + ABB_Robotstudio_Users[j] + "</div>";
162 }
163 }
164 /* if(ABB_Unity_Users!=undefined)
165 {
166 for(j=0; j<ABB_Unity_Users.length; j++)
167 {
168 saux+=" <div class='Unity_User'>" + ABB_Unity_Users[j] + "</div>";
169 }
170 }*/
171
172
173 saux+="</div>";
174 }
175 }
176 document.getElementById('systeminfo').innerHTML=saux;
177 }
178
179
180 function RemoveFromUnityUsersArray(unityusergiv){
181 for(var i=0; i<ABB_Unity_Users.length; i++)
182 {
183 if(ABB_Unity_Users[i]==unityusergiv)
184 {
185 ABB_Unity_Users.splice(i, 1);
186 }
187 }
188 }
189
190 function allowDrop(ev) {
191 ev.preventDefault();
192 }
193
194 function drag(ev, idUnityUser) {
195 ev.dataTransfer.setData("text", ev.target.id);
196 actualDraggingUnityUser=idUnityUser;
197 }
198
199 function drop(ev, idRoom) {
200 ev.preventDefault();
201 cont="";
202 cont+="<div id='"+ actualDraggingUnityUser +"' class='nom'>" + actualDraggingUnityUser + "</div>";
203 document.getElementById(idRoom).innerHTML+=cont;
204 RemoveFromUnityUsersArray(actualDraggingUnityUser);
205 UpdateUnityUsersAvailable();
206 //AQUÍ LA FUNCIÓ DE QUE UN UNITY ES CONECTA A UN ROOM:
207 UnityToRoom(idRoom, actualDraggingUnityUser);
208 }
209 function UnityToRoom(room, unity){
210 //funció de quan un unity es conecta a un room
211 //aqí lu del socet emit cap al server avisant de que el unity està a la room
212 //a la variable room i a la variable unity hi tens la info de quin unity es conecta a quin room
213 alert("El user: " + unity + " es conecta a la room: " + room);
214 //aqí pots posar la info de qin unityuser es conecta a qina room a una array o algu
215 }