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)); }