Ejemplo n.º 1
0
        //public static bool SendNetObject<T>(this T obj, CommandID cmd)
        //where T : global::ProtoBuf.IExtensible
        //{
        //    int cmdID = (int)cmd;
        //    try
        //    {
        //        using (MemoryStream ms = new MemoryStream())
        //        {
        //            Serializer.Serialize<T>(ms, obj);
        //            byte[] datas = ms.ToArray();//序列化结果

        //            TCPOutPacket packet = TCPOutPacket.MakeTCPOutPacket(
        //                Sender.tcpOutPacketPool,
        //                datas, 0, datas.Length,
        //                cmdID
        //                );
        //            return Sender.SendData(packet);


        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        Debug.LogError(e.Message);
        //        return false;
        //    }

        //}
        public void SendInitGame(string _Acc, string _RoleID)
        {
            InitialGame szInitialGame = new InitialGame();

            szInitialGame.Acc    = _Acc;
            szInitialGame.RoleID = Convert.ToInt32(_RoleID);

            MemoryStream msResult = new MemoryStream();

            Serializer.Serialize <InitialGame>(msResult, szInitialGame);
            byte[]       msSendData     = msResult.ToArray();
            TCPOutPacket szTCPOutPacket = TCPOutPacket.MakeTCPOutPacket(m_GSNetClient.OutPacketPool, msSendData, 0, msSendData.Length, (int)CommandID.CMD_INIT_GAME);

            if (m_GSNetClient.SendData(szTCPOutPacket))
            {
                SysConOut.WriteLine("发送初始化游戏成功");
            }
            else
            {
                SysConOut.WriteLine("发送初始化游戏失败");
            }
            //TCPOutPacket szTCPOutPacket = TCPOutPacket.MakeTCPOutPacket(m_tcpOutPacketPool,
            //    StringUtil.substitute("{0}:{1}:{2}", _Acc, _RoleID, "0"), (int)TCPServerCmds.CMD_INIT_GAME);
            //if (m_GSNetClient.SendData(szTCPOutPacket))
            //    SysConOut.WriteLine("发送初始化游戏成功");
            //else
            //{
            //    SysConOut.WriteLine("发送初始化游戏失败 连接状态 = " + m_GSNetClient.Connected.ToString());
            //}
            m_GSNetClient.OutPacketPool.Push(szTCPOutPacket);
        }
Ejemplo n.º 2
0
 public ClientNetworkStateContainer(Prompter prompter)
 {
     NotConnected    = new NotConnected();
     PendingLogOn    = new PendingLogOn(prompter);
     WaitingForBoard = new WaitingForBoard();
     PendingBoard    = new PendingBoard(prompter);
     WaitingForGame  = new WaitingForGame(prompter);
     FoundGame       = new FoundGame(prompter);
     InitialGame     = new InitialGame(prompter);
     MyTurn          = new MyTurn();
     TheirTurn       = new TheirTurn(prompter);
     Waiting         = new Waiting(prompter);
 }
        public ServerNetworkStateContainer(BspSender sender, IBspDisconnecter disconnecter,
                                           GameTypeRepository gameTypeRepo, UserRepository userRepo, MatchMaker matchMaker)
        {
            var state = new BspServerState();

            NotConnected    = new NotConnected(state, sender, gameTypeRepo, userRepo);
            PendingLogOn    = new PendingLogOn();
            WaitingForBoard = new WaitingForBoard(state, sender, gameTypeRepo, matchMaker);
            PendingBoard    = new PendingBoard();
            WaitingForGame  = new WaitingForGame(state, sender, disconnecter, userRepo);
            FoundGame       = new FoundGame(state, sender, disconnecter, userRepo);
            InitialGame     = new InitialGame();
            MyTurn          = new MyTurn(state, sender, disconnecter, userRepo);
            TheirTurn       = new TheirTurn();
            Waiting         = new Waiting();
        }