public static string VariantEnumToString(VariantEnum se) { switch (se) { case VariantEnum.None: return("none"); case VariantEnum._1280x720: return("1280x720"); default: return("none"); } }
void OnGUI() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("添加一项")) { AddItem(); } if (GUILayout.Button("清除所有项")) { Clear(); } EditorGUILayout.LabelField("Variant(非贴图类资源请设none):", GUILayout.Width(175)); variant = (VariantEnum)EditorGUILayout.EnumPopup(variant, GUILayout.Width(100)); if (GUILayout.Button("读取(csv)")) { Clear(); string path = Application.dataPath + "/Files/BuildMap_cvs/AssetBundleInfo.csv"; string content = File.ReadAllText(path); string[] contents = content.Split(new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < contents.Length; i++) { string[] a = contents[i].Split(','); AddItem(a[0], StringToSuffixEnum(a[1]), a[2]); } variant = StringToVariantEnum(contents[0].Split(',')[3]); } /*if (GUILayout.Button("写入保存")) * { * string path = Application.dataPath + "/BuildMap_cvs/AssetBundleInfo.csv"; * * StringBuilder sb = new StringBuilder(); * for (int i = 0; i < count; i++) * { * if (string.IsNullOrEmpty(bundleNameList[i])) break; * sb.Append(bundleNameList[i] + ","); * sb.Append(SuffixEnumToString(suffixList[i]) + ","); * sb.Append(pathList[i] + ","); * sb.Append(VariantEnumToString(variant) + "\r\n"); * } * File.AppendAllText(path, sb.ToString()); * AssetDatabase.Refresh(); * Clear(); * }*/ if (GUILayout.Button("保存")) { Save(); } if (GUILayout.Button("自动填写(所有选中的)")) { int startIndex = count; for (int i = 0; i < Selection.objects.Length; i++) { AddItem(); AutoFill(startIndex, Selection.objects[i]); startIndex++; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("注意:lua文件请以文件夹为单位进行选择!文件夹名即为包名!lua文件请不要混同其他类型文件存放!打包lua文件请点击Build Lua按钮,Build Lua Selected打包选中的文件夹下的lua文件;"); EditorGUILayout.LabelField("Build Lua All打包所有同级目录中的lua文件,打包其他文件请点击Build Asset按钮。按分辨率打包纹理时遇到报“Variant folder path cannot be empty”错误时请忽略,此为 U3D 5.3.X 版本的 bug,经实测不影响使用."); scrollValue = EditorGUILayout.BeginScrollView(scrollValue); for (int i = 0; i < count; i++) { EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(i.ToString() + ".AB包名:", GUILayout.Width(70)); bundleNameList[i] = EditorGUILayout.TextField("", bundleNameList[i], GUILayout.Width(100)); EditorGUILayout.LabelField(" 类型:", GUILayout.Width(40)); suffixList[i] = (SuffixEnum)EditorGUILayout.EnumPopup(suffixList[i]); EditorGUILayout.LabelField(" 路径:", GUILayout.Width(40)); pathList[i] = EditorGUILayout.TextField(pathList[i]); if (GUILayout.Button("自动填写(单个)")) { AutoFill(i, Selection.objects[0]); } if (GUILayout.Button("log路径")) { Debug.Log(pathList[i]); } if (GUILayout.Button("删除该项")) { RemoveItem(i); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); } EditorGUILayout.EndScrollView(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(" 是否删除已存在的其他文件:", GUILayout.Width(140)); deleteExists = (YN)EditorGUILayout.EnumPopup(deleteExists, GUILayout.Width(50)); EditorGUILayout.LabelField(" 平台:", GUILayout.Width(40)); target = (BuildTarget)EditorGUILayout.EnumPopup(target, GUILayout.Width(130)); if (GUILayout.Button("Build Lua Selected")) { Save(); if (deleteExists == YN._false) { PackagerUtils.BuildLuaResource(false, false, target); } else { PackagerUtils.BuildLuaResource(false, true, target); } } if (GUILayout.Button("Build Lua All")) { Save(); if (deleteExists == YN._false) { PackagerUtils.BuildLuaResource(true, false, target); } else { PackagerUtils.BuildLuaResource(true, true, target); } } if (GUILayout.Button("Build Asset")) { Save(); if (deleteExists == YN._false) { PackagerUtils.BuildAssetResource(false, target); } else { PackagerUtils.BuildAssetResource(true, target); } } EditorGUILayout.EndHorizontal(); }