Пример #1
0
        // Token: 0x060002E5 RID: 741 RVA: 0x0000E388 File Offset: 0x0000C588
        public List <DummyType> DeserializeExtensionTableOnLoadFromAssetEnd(BytesScriptableObjectMD5 dataObj, string assetPath, string typeName)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_DeserializeExtensionTableOnLoadFromAssetEndBytesScriptableObjectMD5StringString_hotfix != null)
            {
                return((List <DummyType>) this.m_DeserializeExtensionTableOnLoadFromAssetEndBytesScriptableObjectMD5StringString_hotfix.call(new object[]
                {
                    this,
                    dataObj,
                    assetPath,
                    typeName
                }));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            if (dataObj == null)
            {
                return(null);
            }
            if (dataObj.GetBytes() == null)
            {
                global::Debug.LogError(string.Format("ClientConfigDataLoader OnLazyLoadFromAssetEnd fail, asset file: {0} has no data", assetPath));
            }
            string key = string.Format("{0}.bin", Path.GetFileNameWithoutExtension(assetPath)).ToLower();

            this.m_assetMD5Dict[key] = dataObj.m_MD5;
            List <DummyType> result;

            using (MemoryStream memoryStream = new MemoryStream(dataObj.GetBytes()))
            {
                IProtobufExtensionTypeInfo extTypeInfo = ProtobufExensionHelper.Handler.GetExtTypeInfo(typeName);
                List <DummyType>           list        = RuntimeTypeModel.Default.Deserialize(memoryStream, null, typeof(List <DummyType>), extTypeInfo) as List <DummyType>;
                if (list == null)
                {
                    global::Debug.LogError(string.Format("ClientConfigDataLoader DeserializeExtensionTableOnLoadFromAssetEnd fail, load asset {0}", assetPath));
                    result = null;
                }
                else
                {
                    global::Debug.Log(string.Format("ClientConfigDataLoader DeserializeExtensionTableOnLoadFromAssetEnd OK, load asset {0}", assetPath));
                    result = list;
                }
            }
            return(result);
        }
Пример #2
0
        // Token: 0x0600047B RID: 1147 RVA: 0x0001422C File Offset: 0x0001242C
        public LuaTable GetHotFixLuaModuleByTypeFullName(Type type)
        {
            if (type == null)
            {
                return(null);
            }
            if (!typeof(IExtensible).IsAssignableFrom(type))
            {
                LuaTable result;
                this.m_hotfixDict.TryGetValue(type.FullName, out result);
                return(result);
            }
            IProtobufExtensionTypeInfo extTypeInfo = this.m_luaProtoBufExtensionHandler.GetExtTypeInfo(type.FullName);

            if (extTypeInfo != null && extTypeInfo.HasExtensionInHierarchy())
            {
                return(DummyType.HotFixModule);
            }
            return(null);
        }
Пример #3
0
        // Token: 0x060002D9 RID: 729 RVA: 0x0000DA58 File Offset: 0x0000BC58
        protected virtual bool OnInitLoadFromAssetEndWorkerForLuaDummyType()
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_OnInitLoadFromAssetEndWorkerForLuaDummyType_hotfix != null)
            {
                return(Convert.ToBoolean(this.m_OnInitLoadFromAssetEndWorkerForLuaDummyType_hotfix.call(new object[]
                {
                    this
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            List <string> allInitLoadConfigDataTypeNameForLuaDummy = this.GetAllInitLoadConfigDataTypeNameForLuaDummy();

            foreach (string text in allInitLoadConfigDataTypeNameForLuaDummy)
            {
                string text2 = string.Format("{0}/{1}.asset", this.m_gameClientSetting.ConfigDataSetting.GetConfigDataAssetTargetPath(), text);
                BytesScriptableObjectMD5 bytesScriptableObjectMD = this.m_assetDict[text2] as BytesScriptableObjectMD5;
                if (bytesScriptableObjectMD != null)
                {
                    if (bytesScriptableObjectMD.GetBytes() != null)
                    {
                        string key = string.Format("{0}.bin", Path.GetFileNameWithoutExtension(text2)).ToLower();
                        this.m_assetMD5Dict[key] = bytesScriptableObjectMD.m_MD5;
                        using (MemoryStream memoryStream = new MemoryStream(bytesScriptableObjectMD.GetBytes()))
                        {
                            IProtobufExtensionTypeInfo extTypeInfo = ProtobufExensionHelper.Handler.GetExtTypeInfo(text);
                            List <DummyType>           list        = RuntimeTypeModel.Default.Deserialize(memoryStream, null, typeof(List <DummyType>), extTypeInfo) as List <DummyType>;
                            foreach (DummyType dataItem in list)
                            {
                                this.AddConfigDataItemForLuaDummyType(text, dataItem);
                            }
                            global::Debug.Log(new object[]
                            {
                                "ClientConfigDataLoader InitConfigDataMap ok {0}",
                                text
                            });
                            this.FireEventOnConfigDataTableLoadEnd();
                        }
                    }
                    else
                    {
                        global::Debug.LogError(new object[]
                        {
                            "ClientConfigDataLoader InitConfigDataMap fail {0}, asset file has no data",
                            text
                        });
                    }
                }
                else if (Application.isPlaying)
                {
                    if (!this.ConfigDataAssetAllowNull)
                    {
                        global::Debug.LogError(new object[]
                        {
                            "ClientConfigDataLoader InitConfigDataMap fail {0}",
                            text
                        });
                    }
                    else
                    {
                        global::Debug.LogError(new object[]
                        {
                            "ClientConfigDataLoader InitConfigDataMap fail {0}, no asset file",
                            text
                        });
                    }
                }
            }
            return(true);
        }