// 生成资源热更备选对象 private static void GenerateHotAlternativeScriptable() { if (hotAlternativeObject == null) { hotAlternativeObject = (HotScriptableObject)AssetDatabase.LoadAssetAtPath(string.Format("Assets{0}Editor{1}BuildPackage{2}hot_alternative.asset", Path.DirectorySeparatorChar, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar), typeof(HotScriptableObject)); if (hotAlternativeObject == null) { var hp = BuildABTools.Replace(string.Format("{0}{1}Editor{2}BuildPackage{3}hot_alternative.asset", Application.dataPath, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar)); if (File.Exists(hp)) { File.Delete(hp); } hotAlternativeObject = HotScriptableObject.CreateAlternativeScriptable <HotScriptableObject>(); hotAlternativeObject.DataList.Clear(); hotAlternativeObject.GenerateAlternativeDataList(); } } }
// 生成热更资源对象 private static void GenerateHotObject() { if (hotObject == null) { hotObject = (HotScriptableObject)AssetDatabase.LoadAssetAtPath(string.Format("Assets{0}Editor{1}BuildPackage{2}hot.asset", Path.DirectorySeparatorChar, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar), typeof(HotScriptableObject)); if (hotObject == null) { var hp = BuildABTools.Replace(string.Format("{0}{1}Editor{2}BuildPackage{3}hot.asset", Application.dataPath, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar)); if (File.Exists(hp)) { File.Delete(hp); } hotObject = HotScriptableObject.CreateHotScriptable <HotScriptableObject>(); } } hotObject.DataList.Clear(); if (hotAlternativeObject != null) { for (int i = 0; i < hotAlternativeObject.DataList.Count; i++) { if (hotAlternativeObject.DataList[i].selected) { hotObject.DataList.Add(hotAlternativeObject.DataList[i]); } } } else { GenerateHotAlternativeScriptable(); GenerateHotObject(); } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }