Esempio n. 1
0
        /// <summary>
        /// Sends a request to register a room to master server
        /// </summary>
        public void RegisterRoom(RoomOptions options, RoomCreationCallback callback)
        {
            if (!Connection.IsConnected)
            {
                callback.Invoke(null, "Not connected");
                return;
            }

            Connection.SendMessage((short)OpCodes.RegisterRoom, options, (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    // Failed to register room
                    callback.Invoke(null, response.AsString("Unknown Error"));
                    return;
                }

                var roomId = response.AsInt();

                var controller = new RoomController(this, roomId, Connection, options);

                // Save the reference
                _localCreatedRooms[roomId] = controller;

                callback.Invoke(controller, null);

                // Invoke event
                RoomRegistered?.Invoke(controller);
            });
        }
Esempio n. 2
0
 /// <summary>
 /// Sends a request to register a room to the master server,
 /// uses default room options <see cref="RoomOptions"/>
 /// </summary>
 /// <param name="callback"></param>
 public void RegisterRoom(RoomCreationCallback callback)
 {
     RegisterRoom(new RoomOptions(), callback);
 }
Esempio n. 3
0
 /// <summary>
 /// Sends a request to register a room to master server
 /// </summary>
 /// <param name="options"></param>
 /// <param name="callback"></param>
 public void RegisterRoom(RoomOptions options, RoomCreationCallback callback)
 {
     RegisterRoom(options, callback, Connection);
 }
Esempio n. 4
0
 public static extern void GameCreateRoom(byte playersCount, RoomCreationCallback callback);