public async Task ShouldCreateMatchAndSendState() { var session1 = await _client.AuthenticateCustomAsync($"{Guid.NewGuid()}"); var session2 = await _client.AuthenticateCustomAsync($"{Guid.NewGuid()}"); _socket = Nakama.Socket.From(_client); await _socket.ConnectAsync(session1); var socket2 = Nakama.Socket.From(_client); var completer = new TaskCompletionSource <IMatchState>(); socket2.ReceivedMatchState += (state) => completer.SetResult(state); await socket2.ConnectAsync(session2); var match = await _socket.CreateMatchAsync(); await socket2.JoinMatchAsync(match.Id); var newState = new Dictionary <string, string> { { "hello", "world" } }.ToJson(); await _socket.SendMatchStateAsync(match.Id, 0, newState); var result = await completer.Task; Assert.NotNull(result); Assert.Equal(newState, Encoding.UTF8.GetString(result.State)); }
public async Task ShouldCreateMatch() { var session = await _client.AuthenticateCustomAsync($"{Guid.NewGuid()}"); await _socket.ConnectAsync(session); var match = await _socket.CreateMatchAsync(); Assert.NotNull(match); Assert.NotNull(match.Id); Assert.NotEmpty(match.Id); Assert.False(match.Authoritative); Assert.True(match.Size > 0); }
public async Task <bool> createMatch() { if (_socket == null) { await createSocket(); } if (_socket.IsConnected) { _match = await _socket.CreateMatchAsync(); return(true); // ui.SendMessage("setMatchName", _match.Id); } else { await _socket.ConnectAsync(_session); createMatch(); } return(false); }
public async void CreateRoom() { match = await socket.CreateMatchAsync(); Debug.LogFormat("New match with id '{0}'.", match.Id); }