Esempio n. 1
0
    public void MsgHandle(List <GameMessage> list)
    {
        for (int i = 0; i < list.Count; i++)
        {
            GameMessage message  = list[i];
            Protocol    protocol = (Protocol)message.type[0];
            switch (protocol)
            {
            case Protocol.ReqStartMove:
                using (MemoryStream stream = new MemoryStream(message.data))
                {
                    ReqStartMove mReqStartMove = Serializer.Deserialize <ReqStartMove>(stream);
                    Process(mReqStartMove);
                    break;
                }

            case Protocol.ReqChangeDir:
                using (MemoryStream stream = new MemoryStream(message.data))
                {
                    ReqChangeDir mReqChangeDir = Serializer.Deserialize <ReqChangeDir>(stream);
                    Process(mReqChangeDir);
                    break;
                }

            case Protocol.ReqEndMove:
                using (MemoryStream stream = new MemoryStream(message.data))
                {
                    ReqEndMove mReqEndMove = Serializer.Deserialize <ReqEndMove>(stream);
                    Process(mReqEndMove);
                    break;
                }
            }
        }
    }
Esempio n. 2
0
    void Process(ReqStartMove tReqStartMove)
    {
        uint  userid = tReqStartMove.userid;
        Actor actor  = GameManager.Instance.GetActor(userid);

        if (actor != null)
        {
            actor.TransState(ActorStateType.Move);
        }
    }
Esempio n. 3
0
    public void SendStartMove()
    {
        ReqStartMove mReqStartMove = new ReqStartMove();

        mReqStartMove.userid = NetData.Instance.mUserData.Userid;
        mReqStartMove.roomid = NetData.Instance.mFightData.RoomId;
        using (MemoryStream stream = new MemoryStream())
        {
            Serializer.Serialize(stream, mReqStartMove);
            Send(Protocol.ReqStartMove, stream.ToArray());
        }
    }
Esempio n. 4
0
        internal static void MessageHandle(byte tType, byte[] tData, byte[] bytes, Server tServer, IPEndPoint tSenderPoint)
        {
            uint     userid = 0;
            uint     roomid = 0;
            Protocol mType  = (Protocol)tType;

            using (MemoryStream stream = new MemoryStream(tData))
            {
                switch (mType)
                {
                case Protocol.ReqGameStart:
                    ReqGameStart reqGameStart = Serializer.Deserialize <ReqGameStart>(stream);
                    userid = reqGameStart.userid;
                    roomid = reqGameStart.roomid;
                    break;

                case Protocol.ReqStartMove:
                    ReqStartMove reqStartMove = Serializer.Deserialize <ReqStartMove>(stream);
                    userid = reqStartMove.userid;
                    roomid = reqStartMove.roomid;
                    break;

                case Protocol.ReqChangeDir:
                    ReqChangeDir reqChangeDir = Serializer.Deserialize <ReqChangeDir>(stream);
                    userid = reqChangeDir.userid;
                    roomid = reqChangeDir.roomid;
                    break;

                case Protocol.ReqEndMove:
                    ReqEndMove reqEndMove = Serializer.Deserialize <ReqEndMove>(stream);
                    userid = reqEndMove.userid;
                    roomid = reqEndMove.roomid;
                    break;
                }
            }
            if (userid != 0 && roomid != 0)
            {
                Room room = tServer.m_RoomManager.GetRoom(roomid);
                if (mType == Protocol.ReqGameStart)
                {
                    room.HeroReady(userid, tSenderPoint);
                }
                else
                {
                    if (room != null)
                    {
                        room.Receive(bytes, userid, tSenderPoint);
                    }
                }
            }
        }