/// <summary> /// 绘制Bundle Rule 详细配置 /// </summary> private void drawBundleRulePropertys() { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); GUILayout.Toggle(true, "Bunld Rule Propertys", EditorStyles.toolbarButton, GUILayout.MaxWidth(120)); GUILayout.Toolbar(0, new[] { "" }, EditorStyles.toolbar, GUILayout.ExpandWidth(true)); EditorGUILayout.EndHorizontal(); GUILayout.Space(5); AssetElement lastClickItem = treeModel.Find(this.treeViewState.lastClickedID); if (lastClickItem != null && lastClickItem.BuildRule != null) { AssetBuildRule bundleRule = lastClickItem.BuildRule; EditorGUIUtility.labelWidth = 120; if (EditorGUILayout.Toggle("Preload", bundleRule.LoadType == ELoadType.PreLoad)) { bundleRule.LoadType = ELoadType.PreLoad; } bundleRule.PackageType = (PackageAssetType)EditorGUILayout.EnumPopup("Package Type", bundleRule.PackageType); if (bundleRule.PackageType == PackageAssetType.OutPackage) { //非整包资源 bundleRule.DownloadOrder = EditorGUILayout.IntField("Download Order", bundleRule.DownloadOrder); } // GUILayout.BeginHorizontal(); // GUILayout.Label("Path", GUILayout.Width(50)); // EditorGUILayout.TextField(bundleRule.Path); // GUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.TextArea(bundleRule.Path, GUILayout.MaxWidth(letfGUIWidth - 10), GUILayout.MaxHeight(40)); } }
public void Reflush() { AssetElement parentAssetItem = parent as AssetElement; if (parentAssetItem.BuildRule.BuildType == (int)BundleBuildType.Ignore) //ignore { BuildRule.Order = -1; BuildRule.BuildType = (int)BundleBuildType.Ignore; return; } if (this.FileType != FileType.Folder) { if ((parentAssetItem.BuildRule.BuildType & (int)BundleBuildType.TogetherFiles) != 0) { BuildRule.AssetBundleName = parentAssetItem.BuildRule.AssetBundleName; BuildRule.Order = parentAssetItem.BuildRule.Order; BuildRule.DownloadOrder = parentAssetItem.BuildRule.DownloadOrder; BuildRule.BuildType = (int)BundleBuildType.TogetherFiles; return; } } else if (this.FileType == FileType.Folder) { if ((parentAssetItem.BuildRule.BuildType & (int)BundleBuildType.TogetherFolders) != 0) { BuildRule.AssetBundleName = parentAssetItem.BuildRule.AssetBundleName; BuildRule.Order = parentAssetItem.BuildRule.Order; BuildRule.DownloadOrder = parentAssetItem.BuildRule.DownloadOrder; BuildRule.BuildType = (int)(BundleBuildType.TogetherFolders | BundleBuildType.TogetherFiles); return; } } //bundle name string curBundleName = Path.GetFileNameWithoutExtension(BuildRule.AssetBundleName); string parentBundleName = parentAssetItem.BuildRule.AssetBundleName; if (!string.IsNullOrEmpty(parentBundleName)) { if (!fileName.Equals(curBundleName) && !parentAssetItem.name.Equals(curBundleName)) { BuildRule.AssetBundleName = string.Concat(parentBundleName, "/", curBundleName); } else { BuildRule.AssetBundleName = string.Concat(parentBundleName, "/", fileName); } } //打包顺序 int offsetOrder = this.BuildRule.Order % 1000; if (BuildRule.FileFilterType == FileType.Folder) { //未设置的情况 BuildRule.FileFilterType = parentAssetItem.BuildRule.FileFilterType; } BuildRule.Order = BuildUtil.GetFileOrder(BuildRule.FileFilterType) + offsetOrder; if (BuildRule.BuildType == (int)BundleBuildType.Ignore) { BuildRule.Order = -1; } // BuildRule.BuildType = (int)BundleBuildType.Separate; //下载顺序 todo }