Example #1
0
    public override void OnServerReady(NetworkConnection conn)
    {
        base.OnServerReady(conn);
        var msgSendScores = new OpMsgSendScores();

        msgSendScores.scores = GetSortedScores();
        NetworkServer.SendToClient(conn.connectionId, msgSendScores.OpId, msgSendScores);
        if (gameRule != null)
        {
            var msgGameRule = new OpMsgGameRule();
            msgGameRule.gameRuleName = gameRule.name;
            NetworkServer.SendToClient(conn.connectionId, msgGameRule.OpId, msgGameRule);
            var msgMatchTime = new OpMsgMatchStatus();
            msgMatchTime.remainsMatchTime = gameRule.RemainsMatchTime;
            msgMatchTime.isMatchEnded     = gameRule.IsMatchEnded;
            NetworkServer.SendToClient(conn.connectionId, msgMatchTime.OpId, msgMatchTime);
        }
    }
 protected override UniTaskVoid HandleClientReadyRequest(RequestHandlerData requestHandler, EmptyMessage request, RequestProceedResultDelegate <EmptyMessage> result)
 {
     // Send game rule data before spawn player's character
     if (gameRule == null || !gameRule.IsMatchEnded)
     {
         var msgSendScores = new OpMsgSendScores();
         msgSendScores.scores = GetSortedScores();
         ServerSendPacket(requestHandler.ConnectionId, 0, DeliveryMethod.ReliableOrdered, msgSendScores.OpId, msgSendScores);
     }
     if (gameRule != null)
     {
         var msgGameRule = new OpMsgGameRule();
         msgGameRule.gameRuleName = gameRule.name;
         ServerSendPacket(requestHandler.ConnectionId, 0, DeliveryMethod.ReliableOrdered, msgGameRule.OpId, msgGameRule);
         var msgMatchTime = new OpMsgMatchStatus();
         msgMatchTime.remainsMatchTime = gameRule.RemainsMatchTime;
         msgMatchTime.isMatchEnded     = gameRule.IsMatchEnded;
         ServerSendPacket(requestHandler.ConnectionId, 0, DeliveryMethod.ReliableOrdered, msgMatchTime.OpId, msgMatchTime);
     }
     return(base.HandleClientReadyRequest(requestHandler, request, result));
 }