少年修仙传客户端代码仓库
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -425,16 +425,13 @@
        }
    }
    static byte[] vCmdBytes = new byte[2];
    /// <summary>
    /// 转换一个协议包
    /// </summary>
    /// <param name="vBytes"></param>
    /// <returns></returns>
    public static GameNetPackBasic TransPack(byte[] vBytes)
    public static GameNetPackBasic TransPack( ushort cmd, byte[] vBytes)
    {
        vBytes = GameNetEncode.BaseXorSub(vBytes);
#if UNITY_EDITOR
        int length = vBytes.Length;
        string vStr = "";
@@ -444,12 +441,9 @@
        }
#endif
        Array.Copy(vBytes, 0, vCmdBytes, 0, 2);
        ushort vPackCmd = (ushort)((ushort)(vCmdBytes[0] << 8) + vCmdBytes[1]);
        if (packageTable.ContainsKey(vPackCmd)) // 存在相应的登记
        if (packageTable.ContainsKey(cmd)) // 存在相应的登记
        {
            var packageType = packageTable[vPackCmd];
            var packageType = packageTable[cmd];
            // 实例化并强转为协议包基类
            var packageInstance = packageType.Assembly.CreateInstance(packageType.Name) as GameNetPackBasic;
            packageInstance.ReadFromBytes(vBytes);// 解析内容
@@ -464,13 +458,6 @@
            NetPkgCtl.AddNetPkg(vStr, NetPkgType.Server, packageInstance.ToString(), FieldPrint.PrintFields(packageInstance), FieldPrint.PrintFieldsExpand(packageInstance, true));
#endif
            return packageInstance;
        }
        else
        {
#if UNITY_EDITOR
            NetPkgCtl.AddNetPkg(vStr, NetPkgType.Server, string.Empty, string.Empty, null);
            DebugEx.LogFormat("C#层收到未登记的解包协议:{0},{1}", vCmdBytes[0].ToString("x2"), vCmdBytes[1].ToString("x2"));
#endif
        }
        return null;
    }