private void OnMessageHandler(object sender, MessageEventArgs e)
    {
        CommonTypeMessage msgType = JsonUtility.FromJson <CommonTypeMessage>(e.Data);

        switch (msgType.type)
        {
        case "rotate":
            RotationMessage rotMsg    = JsonUtility.FromJson <RotationMessage>(e.Data);
            Vector2         ourVector = new Vector2(rotMsg.x, rotMsg.z);
            queuedCursorMoves.Enqueue(new StoredCursorMove(ourVector, rotMsg.id));
            break;

        case "fire":
            FireMessage fireMsg = JsonUtility.FromJson <FireMessage>(e.Data);
            queuedPlayerFires.Enqueue(new StoredPlayerFire(fireMsg.id, fireMsg.held));
            break;

        case "userConnect":
            //Only add a new user if there is room
            if (users.Count < userCap)
            {
                UserConnectMessage userMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data);
                queuedUsers.Enqueue(userMsg.id);
            }
            break;

        case "userDisconnect":
            UserConnectMessage userDCMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data);
            queuedDisconnects.Enqueue(userDCMsg.id);
            break;
        }
    }
    private void OnOpenHandler(object sender, EventArgs e)
    {
        // Log our connection to WS server
        Debug.Log("OnOpenHandler -> Open socket: " + webSocket.ReadyState + " - Websocket Alive: " + webSocket.IsAlive);

        // send message to server stating we are the unity client
        CommonTypeMessage isUnity = new CommonTypeMessage();

        isUnity.type = "isUnity";
        webSocket.Send(JsonUtility.ToJson(isUnity));
    }