예제 #1
0
    Coroutine Send <T> (T payload) where T : Payload
    {
        var msg = new SendMessage <T>(room, payload);

        sendRoutine = WooroutineRunner.StartRoutine(SendRoutine(JsonUtility.ToJson(msg)));
        return(sendRoutine);
    }
예제 #2
0
    IEnumerator ConnectRoutine()
    {
        var message = GetMatchOrJoinMessage();

        Debug.LogWarning("(re)connecting: " + message);
        WebSocket w = new WebSocket(new Uri("ws://dating-room-ggj2016.herokuapp.com/websocket"));

        yield return(WooroutineRunner.StartRoutine(w.Connect()));

        w.SendString(message);
        yield return(w);
    }
예제 #3
0
 public void CloseWebsocket()
 {
     if (listenRoutine != null)
     {
         WooroutineRunner.StopRoutine(listenRoutine);
     }
     if (_webSocketWoo != null)
     {
         if (_webSocketWoo.Completed)
         {
             _webSocketWoo.ReturnValue.Close();
         }
         else
         {
             _webSocketWoo.Stop();
             _webSocketWoo = null;
         }
     }
 }
예제 #4
0
 public Coroutine StartDate()
 {
     receivedMessages.Clear();
     listenRoutine = WooroutineRunner.StartRoutine(ListenToWebsocketRoutine());
     return(WooroutineRunner.StartRoutine(StartDateRoutine()));
 }