public async Task ServerConnectSignalR(string username, MatchBeginDto matchBeginDto, OnWorkDone<MatchBeginDto> onCompleted)
 {
     InitialiseHubConnection(username);
     Debug.Log("Connecting for server!");
     await _connection.ConnectAsync();
     Debug.Log("Connection Complete...");
     onCompleted?.Invoke(matchBeginDto);
 }
예제 #2
0
        public static void Start(int maxPlayers, MatchBeginDto matchBeginDto)
        {
            MaxPlayers = maxPlayers;
            Port       = matchBeginDto.matchId;

            Debug.Log("Starting server...");

            InitialiseServerData();
            tcpListener = new TcpListener(IPAddress.Any, Port);
            tcpListener.Start();
            tcpListener.BeginAcceptTcpClient(new AsyncCallback(TCPConnectCallback), null);
            udpListener = new UdpClient(Port);
            udpListener.BeginReceive(UDPReceiveCallback, null);
            Debug.Log($"Server started on {Port}.");

            if (!MultiplayerManager.instance.isDebug)
            {
                MultiplayerManager.instance.EstablishServerConnection(matchBeginDto);
            }
        }
 public async Task StartMatch(MatchBeginDto matchBeginDto)
 {
     OnWorkDone<Match> OnMatchStartedOnServerResponse = OnMatchStartedOnServer;
     Debug.Log("On Match started on server at port " + matchBeginDto.matchId);
     await SendAsyncData("OnMatchStartedOnServer", matchBeginDto, OnMatchStartedOnServerResponse);
 }
예제 #4
0
 void OnServerSignalRConnectionEstablished(MatchBeginDto matchBeginDto)
 {
     SignalRCoreConnect.instance.StartMatch(matchBeginDto);
 }
예제 #5
0
 public void EstablishServerConnection(MatchBeginDto matchBeginDto)
 {
     Debug.Log("Establishing server side signalR " + matchBeginDto.matchId);
     signalRGORef = Instantiate(signalRGO, Canvas, false);
     signalRGORef.GetComponent <SignalRCoreConnect>().ServerConnectSignalR("server-instance", matchBeginDto, OnServerSignalRConnectionEstablished);
 }