/// <summary> /// 根据AppResConfig进行更新 /// </summary> public void UpdateByAppResConfig(ResConfigFile _appConfig) { if (_appConfig.ResVersion < ResVersion) { return; } for (Int32 i = 0; i < _appConfig.m_assets.Count; ++i) { ResInfo localResInfo; var appResInfo = _appConfig.m_assets[i]; if (ResDictionary.TryGetValue(appResInfo.Name, out localResInfo)) { if (appResInfo.Version > localResInfo.Version) { appResInfo.CopyTo(localResInfo); localResInfo.Location = AssetLocation.StreamingPath; } } else { localResInfo = appResInfo.Clone(); localResInfo.Location = AssetLocation.StreamingPath; m_assets.Add(localResInfo); ResDictionary.Add(localResInfo.Name, localResInfo); } } Save(); }
/// <summary> /// 添加或更新资源 /// </summary> /// <param name="_new_res"></param> public void AddOrUpdateResInfo(ResInfo _new_res) { if (ResDictionary.ContainsKey(_new_res.Name)) { for (int i = 0; i < m_assets.Count; i++) { if (m_assets[i].Name.Equals(_new_res.Name, StringComparison.OrdinalIgnoreCase)) { m_assets[i] = _new_res; ResDictionary[_new_res.Name] = _new_res; break; } } } else { ResDictionary.Add(_new_res.Name, _new_res); m_assets.Add(_new_res); } }