Skip to content

Commit df4fed3

Browse files
authored
fix(SimpleWebTransport): Use Map instead of Array (#4103)
* fix(SWT): Use Map instead of array * remove trailing space
1 parent 14b98d6 commit df4fed3

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

  • Assets/Mirror/Transports/SimpleWeb/SimpleWeb/Client/Webgl/plugin

Assets/Mirror/Transports/SimpleWeb/SimpleWeb/Client/Webgl/plugin/SimpleWeb.jslib

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
// this will create a global object
22
const SimpleWeb =
33
{
4-
webSockets: [],
4+
webSockets: null, // unity converts Map to {}, so we have to use new at runtime
55
next: 1,
66
GetWebSocket: function (index)
77
{
8-
return SimpleWeb.webSockets[index]
8+
if (SimpleWeb.webSockets)
9+
return SimpleWeb.webSockets.get(index);
10+
else
11+
return null;
912
},
1013
AddNextSocket: function (webSocket)
1114
{
15+
if (!SimpleWeb.webSockets)
16+
SimpleWeb.webSockets = new Map();
1217
var index = SimpleWeb.next;
1318
SimpleWeb.next++;
14-
SimpleWeb.webSockets[index] = webSocket;
19+
SimpleWeb.webSockets.set(index, webSocket);
1520
return index;
1621
},
1722
RemoveSocket: function (index)
1823
{
19-
SimpleWeb.webSockets[index] = undefined;
24+
if (SimpleWeb.webSockets)
25+
SimpleWeb.webSockets.delete(index);
2026
},
2127
};
2228

@@ -56,6 +62,8 @@ function Connect(addressPtr, openCallbackPtr, closeCallBackPtr, messageCallbackP
5662
webSocket._incomingDataBufferAlive = false;
5763
// dynCall('vi', closeCallBackPtr, [index]);
5864
{{{ makeDynCall('vi', 'closeCallBackPtr') }}}(index);
65+
66+
SimpleWeb.RemoveSocket(index);
5967
};
6068

6169
webSocket.onmessage = function(event)

0 commit comments

Comments
 (0)