/// <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); }); }
/// <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); }
/// <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); }
public static extern void GameCreateRoom(byte playersCount, RoomCreationCallback callback);