예제 #1
0
        /// <summary>
        /// 順位を取得する
        /// </summary>
        /// <param name="matchKey"></param>
        /// <returns></returns>
        public (bool, IEnumerable <int>) GetRanking(string matchKey)
        {
            var sendMsg  = new GetRankingMessage(matchKey);
            var sendJson = JsonConvert.SerializeObject(sendMsg);

            var(r, recvJson) = SocketManager.SendRecv(sendJson);
            return((r)
                                ? (r, JsonConvert.DeserializeObject <RankingMessage>(recvJson).Ranking)
                                : (r, new List <int>()));
        }
        public string MakeSendMessage(string receivedMessage)
        {
            var message = JsonConvert.DeserializeObject <ClientMessage>(receivedMessage);

            var(methodSuccess, sendMessage) = message switch
            {
                CreatePlayerMessage cr => CreatePlayer(cr),
                CloseCreateMessage cl => CloseCreate(cl),
                GetMatchInfoMessage gm => GetMatchInfo(gm),
                GetAllMatchesMessage _ => GetAllMatches(),
                DiceMessage dm => ThrowDice(dm),
                GetStartedMatchMessage gsm => GetStatedMatch(gsm),
                GetRankingMessage gr => GetRanking(gr),
                GetMatchViewImageMessage gmv => GetMatchView(gmv),
                _ => throw new NotImplementedException()
            };

            return(HeaderProtocol.MakeHeader(sendMessage, methodSuccess));
        }