Exemplo n.º 1
0
        private void onConnection(BaseEvent evt)
        {
            bool   flag = (bool)evt.Params["success"];
            string text = (string)evt.Params["errorMessage"];

            if (flag)
            {
                if (mt.UseEncryption)
                {
                    mt.TriggerInitCrypto = true;
                }
                else
                {
                    mt.login();
                }
                return;
            }
            if (mt.ConnectionAttempts < 3)
            {
                mt.reconnect();
                return;
            }
            Log.LogNetworkErrorFormatted(this, "Failed to connect after {0} attempts with error: {1}. Will trigger a ROOM_JOIN_ERROR", mt.ConnectionAttempts, text);
            RoomJoinError roomJoinError = default(RoomJoinError);

            roomJoinError.roomName     = mt.JoinRoomDataRoom;
            roomJoinError.errorMessage = text;
            mt.teardown();
            mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
        }
Exemplo n.º 2
0
    private void onRoomFull(GameServerEvent evt, object data)
    {
        removeSFSListeners();
        RoomJoinError roomJoinError = (RoomJoinError)data;

        errorHandler.onRoomFull();
    }
Exemplo n.º 3
0
        private void onUdpInit(BaseEvent evt)
        {
            bool   flag = (bool)evt.Params["success"];
            string text = (string)evt.Params["errorMessage"];

            if (flag)
            {
                fetchServerTimestamp(fetchEncryptionKeyAfterwards: true);
                return;
            }
            ConfigData smartFoxConfiguration = mt.smartFoxConfiguration;

            Log.LogNetworkErrorFormatted(this, "Failed to initialize UDP connection on {0}:{1}. Error: {2}", smartFoxConfiguration.UdpHost, smartFoxConfiguration.UdpPort, text);
            if (SmartFoxGameServerClient.AbortOnUDPError)
            {
                RoomJoinError roomJoinError = default(RoomJoinError);
                roomJoinError.roomName     = mt.JoinRoomDataRoom;
                roomJoinError.errorMessage = text;
                mt.teardown();
                mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
            }
            else
            {
                fetchServerTimestamp(fetchEncryptionKeyAfterwards: true);
            }
        }
Exemplo n.º 4
0
    public void JoinRoom(SignedResponse <JoinRoomData> signedJoinRoomData)
    {
        mt.SignedJoinRoomData = signedJoinRoomData;
        waitForRoomJoinEvent  = true;
        if (!mt.isConnected)
        {
            mt.connect(signedJoinRoomData.Data.host, signedJoinRoomData.Data.tcpPort, signedJoinRoomData.Data.httpsPort);
            return;
        }
        if (!mt.isLoggedIn)
        {
            mt.login();
            return;
        }
        string clientRoomName = mt.ClientRoomName;

        if (clientRoomName != null && clientRoomName == signedJoinRoomData.Data.room)
        {
            mt.triggerEvent(GameServerEvent.ROOM_JOIN, clientRoomName);
            return;
        }
        RoomJoinError roomJoinError = default(RoomJoinError);

        roomJoinError.roomName     = signedJoinRoomData.Data.room;
        roomJoinError.errorMessage = "Already logged in";
        mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
    }
Exemplo n.º 5
0
        private void onLoginError(BaseEvent evt)
        {
            string text = (string)evt.Params["errorMessage"];

            Log.LogNetworkErrorFormatted(this, "Login Failed. Error: {0}", text);
            RoomJoinError roomJoinError = default(RoomJoinError);

            roomJoinError.roomName     = mt.JoinRoomDataRoom;
            roomJoinError.errorMessage = text;
            mt.teardown();
            mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
        }
Exemplo n.º 6
0
        private void onRoomCreationError(BaseEvent evt)
        {
            Room   room = (Room)evt.Params["room"];
            string text = (string)evt.Params["errorMessage"];

            Log.LogErrorFormatted(this, "Failed to create room {0}. error: {1}", room.Name, text);
            if (mt.TryClearJoinRoomDataIfRoom(room.Name, out var joinRoomData))
            {
                RoomJoinError roomJoinError = default(RoomJoinError);
                roomJoinError.roomName     = joinRoomData.room;
                roomJoinError.errorMessage = text;
                mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
            }
            mt.LastRoomTransientData = null;
        }
Exemplo n.º 7
0
        private void onCryptoInit(BaseEvent evt)
        {
            bool   flag = (bool)evt.Params["success"];
            string text = (string)evt.Params["errorMessage"];

            if (flag)
            {
                mt.login();
                return;
            }
            Log.LogNetworkErrorFormatted(this, "Failed to initialize encryption libraries. Error: {0}", text);
            RoomJoinError roomJoinError = default(RoomJoinError);

            roomJoinError.roomName     = mt.JoinRoomDataRoom;
            roomJoinError.errorMessage = text;
            mt.teardown();
            mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
        }
Exemplo n.º 8
0
        private void onRoomJoinError(BaseEvent evt)
        {
            string text = (string)evt.Params["errorMessage"];
            short  num  = (short)evt.Params["errorCode"];

            Log.LogErrorFormatted(this, "Failed to join room error: {0} - {1}", num.ToString(), text);
            if (mt.TryClearJoinRoomData(out var joinRoomData))
            {
                RoomJoinError roomJoinError = default(RoomJoinError);
                roomJoinError.roomName     = joinRoomData.room;
                roomJoinError.errorMessage = text;
                mt.teardown();
                if (num == 20)
                {
                    mt.triggerEvent(GameServerEvent.ROOM_FULL, roomJoinError);
                }
                else
                {
                    mt.triggerEvent(GameServerEvent.ROOM_JOIN_ERROR, roomJoinError);
                }
            }
            mt.LastRoomTransientData = null;
        }
Exemplo n.º 9
0
 public RoomJoinHookEventArgs(Room room, Player player)
 {
     Room   = room;
     Player = player;
     Error  = RoomJoinError.OK;
 }