Ejemplo n.º 1
0
        public void ExecuteCommand(GameSession session, ProtobufRequestInfo requestInfo)
        {
            var RoomInfoID = SendGetUserGamePlayback.ParseFrom(requestInfo.Body);
            var list       = new BoarddetailstbDAL().GetListByRoomInfoID(RoomInfoID.RoomInfoID);
            var returnGetUserGamePlayback = ReturnGetUserGamePlayback.CreateBuilder();

            foreach (var item in list)
            {
                returnGetUserGamePlayback.AddGameOperationProcess(GameOperationProcess.ParseFrom(item.MatchDetails));
            }
            var data = returnGetUserGamePlayback.Build().ToByteArray();

            session.Send(new ArraySegment <byte>(CreateHead.CreateMessage(GameInformationBase.BASEAGREEMENTNUMBER + 9004, data.Length, requestInfo.MessageNum, data)));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 将牌局回放数据存入数据库
        /// </summary>
        /// <param name="r"></param>
        public static void AddboarddetailsTB(Room r)
        {
            string InningsID = string.Empty;
            bool   exists    = false;
            var    dal       = new BoarddetailstbDAL();

            do
            {
                InningsID = Guid.NewGuid().ToString();
                exists    = dal.GetExistsByInningsIDID(InningsID);
            } while (exists);
            dal.Add(new boarddetailsTB {
                InningsID = InningsID, RoomInfoID = r.RoomInfoID, GameSummary = r.gameOperationProcess.JieSuanInfo.ToArray(), MatchDetails = r.gameOperationProcess.Build().ToByteArray()
            });
        }