Beispiel #1
0
        /// <summary>
        /// Tries to get an access to a room with a given room id, password,
        /// and some other properties, which will be visible to the room (game server)
        /// </summary>
        public void GetAccess(int roomId, RoomAccessCallback callback, string password, Dictionary <string, string> properties, IClientSocket connection)
        {
            if (!connection.IsConnected)
            {
                callback.Invoke(null, "Not connected");
                return;
            }

            var packet = new RoomAccessRequestPacket()
            {
                RoomId     = roomId,
                Properties = properties,
                Password   = password
            };

            connection.SendMessage((short)MsfMessageCodes.GetRoomAccessRequest, packet, (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    callback.Invoke(null, response.AsString("Unknown Error"));
                    return;
                }

                var access         = response.Deserialize(new RoomAccessPacket());
                LastReceivedAccess = access;
                callback.Invoke(access, null);
                OnAccessReceivedEvent?.Invoke(access);
            });
        }
Beispiel #2
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Sends a request to get access to room, which is assigned to this lobby. </summary>
        ///
        /// <param name="properties">       The properties. </param>
        /// <param name="callback">         The callback. </param>
        /// <param name="errorCallback">    The error callback. </param>
        ///-------------------------------------------------------------------------------------------------

        public void GetLobbyRoomAccess(Dictionary <string, string> properties, RoomAccessCallback callback, ErrorCallback errorCallback)
        {
            if (!Client.IsConnected)
            {
                errorCallback.Invoke("Not connected");
                return;
            }

            Client.SendMessage((ushort)OpCodes.GetLobbyRoomAccess, properties.ToBytes(), (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    errorCallback.Invoke(response.AsString("Unknown Error"));
                    return;
                }

                var access = response.Deserialize <RoomAccessPacket>();

                _roomPlugin.TriggerAccessReceivedEvent(access);

                callback.Invoke(access);
            });
        }
Beispiel #3
0
        /// <summary>
        /// Sends a request to get access to room, which is assigned to this lobby
        /// </summary>
        public void GetLobbyRoomAccess(Dictionary <string, string> properties, RoomAccessCallback callback, IClientSocket connection)
        {
            if (!connection.IsConnected)
            {
                callback.Invoke(null, "Not connected");
                return;
            }

            connection.SendMessage((short)MstMessageCodes.GetLobbyRoomAccess, properties.ToBytes(), (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    callback.Invoke(null, response.AsString("Unknown Error"));
                    return;
                }

                var access = response.Deserialize(new RoomAccessPacket());

                Mst.Client.Rooms.TriggerAccessReceivedEvent(access);

                callback.Invoke(access, null);
            });
        }
Beispiel #4
0
 /// <summary>
 /// Sends a request to get access to room, which is assigned to this lobby
 /// </summary>
 public void GetLobbyRoomAccess(Dictionary <string, string> properties, RoomAccessCallback callback)
 {
     GetLobbyRoomAccess(properties, callback, Connection);
 }
Beispiel #5
0
 /// <summary>
 /// Retrieves an access to room, which is assigned to this lobby
 /// </summary>
 public void GetLobbyRoomAccess(Dictionary <string, string> properties, RoomAccessCallback callback)
 {
     Mst.Client.Lobbies.GetLobbyRoomAccess(properties, callback, _connection);
 }
Beispiel #6
0
 /// <summary>
 /// Retrieves an access to room, which is assigned to this lobby
 /// </summary>
 /// <param name="callback"></param>
 public void GetLobbyRoomAccess(RoomAccessCallback callback)
 {
     Mst.Client.Lobbies.GetLobbyRoomAccess(new Dictionary <string, string>(), callback, _connection);
 }
Beispiel #7
0
 /// <summary>
 /// Tries to get an access to a room with a given room id, password,
 /// and some other <paramref name="customOptions"/>, which will be visible to the room (game server)
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 /// <param name="password"></param>
 /// <param name="customOptions"></param>
 public void GetAccess(int roomId, string password, MstProperties customOptions, RoomAccessCallback callback)
 {
     GetAccess(roomId, password, customOptions, callback, Connection);
 }
Beispiel #8
0
 /// <summary>
 /// Tries to get an access to a room with a given room id
 /// and some other <paramref name="customOptions"/>, which will be visible to the room (game server)
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 /// <param name="customOptions"></param>
 public void GetAccess(int roomId, RoomAccessCallback callback, MstProperties customOptions)
 {
     GetAccess(roomId, "", customOptions, callback, Connection);
 }
Beispiel #9
0
 /// <summary>
 /// Try to get an access to a room with a given room id and password
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="password"></param>
 /// <param name="callback"></param>
 public void GetAccess(int roomId, string password, RoomAccessCallback callback)
 {
     GetAccess(roomId, password, new MstProperties(), callback, Connection);
 }
Beispiel #10
0
 /// <summary>
 /// Try to get an access to a room with a given room id and password
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="password"></param>
 /// <param name="callback"></param>
 public void GetAccess(int roomId, string password, RoomAccessCallback callback)
 {
     GetAccess(roomId, password, new DictionaryOptions(), callback, Connection);
 }
Beispiel #11
0
        /// <summary>
        ///     Tries to get an access to a room with a given room id, password,
        ///     and some other properties, which will be visible to the room (game server)
        /// </summary>
        public void GetAccess(int roomId, string password, Dictionary <string, string> properties, RoomAccessCallback callback,
                              ErrorCallback errorCallback)
        {
            if (!Client.IsConnected)
            {
                errorCallback.Invoke("Not connected");
                return;
            }

            var packet = new RoomAccessRequestPacket
            {
                RoomId     = roomId,
                Properties = properties,
                Password   = password
            };

            Client.SendMessage((ushort)OpCodes.GetRoomAccess, packet, (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    errorCallback.Invoke(response.AsString("Unknown Error"));
                    return;
                }

                var access = response.Deserialize <RoomAccessPacket>();

                LastReceivedAccess = access;

                callback.Invoke(access);

                AccessReceived?.Invoke(access);

                if (RoomConnector.Instance != null)
                {
                    RoomConnector.Connect(access);
                }
            });
        }
Beispiel #12
0
 /// <summary>
 ///     Retrieves an access to room, which is assigned to this lobby
 /// </summary>
 /// <param name="callback"></param>
 public void GetLobbyRoomAccess(RoomAccessCallback callback)
 {
     _lobbyServer.GetLobbyRoomAccess(new Dictionary <string, string>(), callback);
 }
Beispiel #13
0
 /// <summary>
 /// Tries to get an access to a room with a given room id, password,
 /// and some other properties, which will be visible to the room (game server)
 /// </summary>
 public void GetAccess(string roomId, RoomAccessCallback callback, string password, Dictionary <string, string> properties)
 {
     GetAccess(roomId, callback, password, properties, Connection);
 }
Beispiel #14
0
 /// <summary>
 /// Tries to get an access to a room with a given room id and password
 /// </summary>
 public void GetAccess(string roomId, RoomAccessCallback callback, string password)
 {
     GetAccess(roomId, callback, password, new Dictionary <string, string>(), Connection);
 }
Beispiel #15
0
 /// <summary>
 ///     Tries to get an access to a room with a given room id, password,
 ///     and some other properties, which will be visible to the room (game server)
 /// </summary>
 public void GetAccess(int roomId, RoomAccessCallback callback,
                       Dictionary <string, string> properties)
 {
     GetAccess(roomId, callback, "", properties, Connection);
 }
Beispiel #16
0
 /// <summary>
 ///     Tries to get an access to a room with a given room id
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 public void GetAccess(int roomId, RoomAccessCallback callback)
 {
     GetAccess(roomId, callback, "", new Dictionary <string, string>(), Connection);
 }
Beispiel #17
0
 /// <summary>
 /// Tries to get an access to a room with a given room id
 /// and some other <paramref name="customOptions"/>, which will be visible to the room (game server)
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 /// <param name="customOptions"></param>
 public void GetAccess(int roomId, RoomAccessCallback callback, DictionaryOptions customOptions)
 {
     GetAccess(roomId, "", customOptions, callback, Connection);
 }
Beispiel #18
0
 /// <summary>
 /// Tries to get an access to a room with a given room id
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 public void GetAccess(int roomId, RoomAccessCallback callback)
 {
     GetAccess(roomId, "", new MstProperties(), callback, Connection);
 }
Beispiel #19
0
 /// <summary>
 ///     Retrieves an access to room, which is assigned to this lobby
 /// </summary>
 public void GetLobbyRoomAccess(Dictionary <string, string> properties, RoomAccessCallback callback)
 {
     _lobbyServer.GetLobbyRoomAccess(properties, callback);
 }
Beispiel #20
0
 /// <summary>
 /// Tries to get an access to a room with a given room id
 /// </summary>
 /// <param name="roomId"></param>
 /// <param name="callback"></param>
 public void GetAccess(int roomId, RoomAccessCallback callback)
 {
     GetAccess(roomId, "", new DictionaryOptions(), callback, Connection);
 }