void AddBuildConfig(BuildRuleConfig config) { BuildRuleConfig data = config.Clone() as BuildRuleConfig; Config.Add(data); if (data.IsCopyDirectory) { CopyDirectory.Add(data.Name); } if (!AllDirectory.Contains(data.Name)) { AllDirectory.Add(data.Name); } }
//刷新DLC public void RefreshDLC() { Config.Clear(); AllDirectory.Clear(); CopyDirectory.Clear(); IgnoreConstSet.Clear(); ConfigExtend.Clear(); ConfigAll.Clear(); EditorExtend.Clear(); EditorAll.Clear(); foreach (var item in BuildRule) { AddBuildConfig(item); } foreach (var item in IgnoreConst) { AddIgnoreConst(item); } //加载内部dlc ConfigInternal = new DLCItemConfig(Const.STR_InternalDLC); EditorInternal = new DLCItem(ConfigInternal); //加载原生dlc ConfigNative = new DLCItemConfig(Const.STR_NativeDLC); EditorNative = new DLCItem(ConfigNative); //加载其他额外DLC foreach (var item in DLC) { var dlcItem = new DLCItemConfig(item.Name); ConfigExtend.Add(dlcItem); EditorExtend.Add(new DLCItem(dlcItem)); } ConfigAll = new List <DLCItemConfig>(ConfigExtend); ConfigAll.Add(ConfigInternal); ConfigAll.Add(ConfigNative); EditorAll = new List <DLCItem>(EditorExtend); EditorAll.Add(EditorInternal); EditorAll.Add(EditorNative); #if UNITY_EDITOR if (!Application.isPlaying) { foreach (var item in AllDirectory) { FileUtil.EnsureDirectory(Path.Combine(Const.Path_NativeDLC, item)); } foreach (var item in DLC) { foreach (var dic in AllDirectory) { FileUtil.EnsureDirectory(Path.Combine(Const.Path_Bundles, item.Name, dic)); } } } #endif }