Пример #1
0
        private void P2C_Packages(MobaMessage msg)
        {
            OperationResponse operationResponse = msg.Param as OperationResponse;

            byte[]   buffer   = (byte[])operationResponse.Parameters[0];
            Packages packages = SerializeHelper.Deserialize <Packages>(buffer);

            FrameSyncManager.Instance.newNetFrameNum = ((!FrameSyncManager.Instance.UseFrame) ? packages.tick : packages.frameId);
            if (packages.packages != null)
            {
                if (!Singleton <PvpManager> .Instance.IsObserver)
                {
                }
                for (int i = 0; i < packages.packages.Length; i++)
                {
                    RelpayCmd   relpayCmd = packages.packages[i];
                    MobaMessage message   = MobaMessageManager.GetMessage((PvpCode)relpayCmd.code, relpayCmd.paramListBytes, 0f, null);
                    if (MobaMessageManager.IsHandlerExists(message))
                    {
                        FrameSyncManager.Instance.ReceiveMsg(message);
                    }
                    else if (!Singleton <PvpManager> .Instance.IsObserver)
                    {
                    }
                }
            }
            if (FrameSyncManager.Instance.WaitFrameTime || packages.packages != null)
            {
                FrameSyncManager.Instance.ReceiveMsg(MobaMessageManager.GetMessage(PvpCode.P2C_FrameSync, FrameSyncManager.Instance.newNetFrameNum, 0f, null));
            }
        }
Пример #2
0
    private void UnpackPackages(int msgID, object msgParam, MsgType msgType)
    {
        OperationResponse operationResponse = msgParam as OperationResponse;

        byte[] buffer;
        if (operationResponse == null)
        {
            buffer = (byte[])msgParam;
        }
        else
        {
            buffer = (byte[])operationResponse.Parameters[0];
        }
        Packages packages = SerializeHelper.Deserialize <Packages>(buffer);

        if (packages.packages != null)
        {
            for (int i = 0; i < packages.packages.Length; i++)
            {
                RelpayCmd relpayCmd = packages.packages[i];
                this.AddMsg((int)relpayCmd.code, relpayCmd.paramListBytes, msgType, packages.svrTime);
            }
        }
    }