少年修仙传客户端代码仓库
lwb
2021-02-25 0d7482d5a0e8bf082abfb4b5bfbfee03597cdc3a
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -9,32 +9,19 @@
    static object lockojbLua = new object();
    //Lua 注册的包命令
    static HashSet<ushort> _luaPackageCmd = new HashSet<ushort>();
    static HashSet<ushort> luaPackageCmd
    {
        get
        {
            lock (lockojbLua) { return _luaPackageCmd; }
        }
    }
    #region IL热更工程的封包
    static object lockojbIL1 = new object();
    static Dictionary<ushort, string> _ILPackageTable = new Dictionary<ushort, string>();
    static Dictionary<ushort, string> ilPackageTable
    {
        get
        {
    static Dictionary<ushort, string> ilPackageTable {
        get {
            lock (lockojbIL1) { return _ILPackageTable; }
        }
    }
    static object lockojbIL2 = new object();
    static Dictionary<ushort, DtcBasic> _ILPackToBusinessTable = new Dictionary<ushort, DtcBasic>();
    static Dictionary<ushort, DtcBasic> ilPackToBusinessTable
    {
        get
        {
    static Dictionary<ushort, DtcBasic> ilPackToBusinessTable {
        get {
            lock (lockojbIL2) { return _ILPackToBusinessTable; }
        }
    }
@@ -43,19 +30,15 @@
    #region 主工程原生的封包
    static object lockojb1 = new object();
    static Dictionary<ushort, Type> m_PackageTable = new Dictionary<ushort, Type>();
    static Dictionary<ushort, Type> packageTable
    {
        get
        {
    static Dictionary<ushort, Type> packageTable {
        get {
            lock (lockojb1) { return m_PackageTable; }
        }
    }
    static object lockojb2 = new object();
    static Dictionary<ushort, DtcBasic> m_PackToBusinessTable = new Dictionary<ushort, DtcBasic>();
    static Dictionary<ushort, DtcBasic> packToBusinessTable
    {
        get
        {
    static Dictionary<ushort, DtcBasic> packToBusinessTable {
        get {
            lock (lockojb2) { return m_PackToBusinessTable; }
        }
    }
@@ -559,17 +542,6 @@
        #endregion
    }
    //注册lua的封包
    public static void RegisterLua(Dictionary<ushort, Action> luaPtRegister)
    {
        foreach (var key in luaPtRegister.Keys)
        {
            if (luaPackageCmd.Add(key))
                DebugEx.LogFormat("注册Lua封包:{0}", key);
            else
                DebugEx.LogErrorFormat("重复Lua封包登记: {0}!", key);
        }
    }
    public static void RegisterIL(List<string[]> packs)
    {
@@ -625,20 +597,12 @@
        return packToBusinessTable.ContainsKey(_cmd);
    }
    public static bool ContainLua(ushort _cmd)
    {
        return luaPackageCmd.Contains(_cmd);
    }
    public static void Distribute(GameNetPackBasic _package)
    {
        try
        {
            DebugEx.LogFormat("Distribute:{0}", _package.cmd);
            if (_package is LuaGameNetPack)
                //执行lua的封包
                CSharpCallLua.OnRecieveLuaNetPackage(_package as LuaGameNetPack);
            else if (_package is GameNetPackBasicAdapter.Adapter)
            if (_package is GameNetPackBasicAdapter.Adapter)
            {
                DebugEx.LogFormat("执行IL封包:{0}", _package.cmd);
                //执行IL热更工程的封包