Esempio n. 1
0
        /// <summary>
        /// 释放资源
        /// </summary>
        public void CheckExtractResource()
        {
            bool isExists = Directory.Exists(m_dataPath) && File.Exists(m_dataPath + m_filesName) && File.Exists(m_dataPath + "versions.txt");

            if (isExists)
            {
                Dictionary <string, string> packVersionDic  = UnityUtils.AnalyzeTxt(UnityUtils.ReadLocalTxt(m_dataPath + "versionsTemp.txt"));
                Dictionary <string, string> localVersionDic = UnityUtils.AnalyzeTxt(UnityUtils.ReadLocalTxt(m_dataPath + "versions.txt"));
                if (packVersionDic.ContainsKey("versionCode") && localVersionDic.ContainsKey("versionCode"))
                {
                    int localVersionNum = Int32.Parse(localVersionDic["versionCode"]);
                    int packVersionNum  = Int32.Parse(packVersionDic["versionCode"]);
                    if (localVersionNum < packVersionNum)
                    {
                        //大版本更新删除数据目录下的files.txt/versions.txt
                        if (Directory.Exists(m_dataPath))
                        {
                            Directory.Delete(m_dataPath, true);
                        }
                        Caching.CleanCache();
                        StartCoroutine(OnExtractResource());    //启动释放协成
                        return;
                    }
                }
                ResManager.initialize(OnResourceInited);
                return;                          //文件已经解压过了,自己可添加检查文件列表逻辑
            }
            StartCoroutine(OnExtractResource()); //启动释放协成
        }