static GUILayoutMultiSelectGroup.OperateResult DrawAssetNode(AssetNode node, int space) { if (node.Element == null) { return(null); } GUILayoutMultiSelectGroup.OperateResult result = null; if (node.Element.IsFolder) { result = DrawAssetNodeFolder(node, space); } else { result = DrawAssetNodeFile(node, space); } //绘制子节点 if (node.Expand) { if (node.Children != null) { foreach (var c in node.Children) { if (result == null) { result = DrawAssetNode(c, space + ASSET_NODE_LAYER_SPACE); } } } } return(result); }
/// <summary> /// 更新选中操作 /// </summary> void UpdateSelectOperate(GUILayoutMultiSelectGroup.OperateResult result) { if (result != null) { SelectResultStatus status = result.Status as SelectResultStatus; if (status.Op != SelectResultStatus.Operate.None && gui_multi_select_.SelectNodes != null) { for (int i = 0; i < gui_multi_select_.SelectNodes.Count; ++i) { Node node = gui_multi_select_.SelectNodes[i] as Node; if (status.Op == SelectResultStatus.Operate.Compress) { node.AssetBundle.IsCompress = status.IsCompress; } else if (status.Op == SelectResultStatus.Operate.Native) { node.AssetBundle.IsNative = status.IsNative; } else if (status.Op == SelectResultStatus.Operate.Permanent) { node.AssetBundle.IsPermanent = status.IsPermanent; } } } } }
/// <summary> /// /// </summary> public override GUILayoutMultiSelectGroup.OperateResult Draw() { GUILayoutMultiSelectGroup.OperateResult result = null; if (Root != null) { result = Root.Draw(); } return(result); }
/// <summary> /// /// </summary> void OnGUI() { GUILayout.Space(3f); GUILayout.BeginHorizontal(); GUILayout.Label("资源版本号", GUILayout.MaxWidth(200f)); Manifest.Data.strVersion = EditorGUILayout.TextField(Manifest.Data.strVersion); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("打包全部AssetBundle至安装包", GUILayout.MaxWidth(200f)); Manifest.Data.IsAllNative = EditorGUILayout.Toggle(Manifest.Data.IsAllNative); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("压缩全部AssetBundle", GUILayout.MaxWidth(200f)); Manifest.Data.IsAllCompress = EditorGUILayout.Toggle(Manifest.Data.IsAllCompress); GUILayout.EndHorizontal(); GUILayout.Space(3f); GUILayout.BeginHorizontal(); GUILayout.Label("编号", "OL Title", GUILayout.Width(32f)); GUILayout.Label("资源", "OL Title"); GUILayout.Label("大小", "OL Title", GUILayout.Width(124f)); GUILayout.Label("压缩", "OL Title", GUILayout.Width(72f)); GUILayout.Label("打包到安装包", "OL Title", GUILayout.Width(84f)); GUILayout.Label("常驻内存", "OL Title", GUILayout.Width(60f)); GUILayout.Label("启动时加载", "OL Title", GUILayout.Width(60f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayoutMultiSelectGroup.OperateResult result = gui_multi_select_.Draw(position.size.x); GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (result != null) { UpdateSelectOperate(result); } bool restore = GUILayout.Button("还原"); bool execute = GUILayout.Button("执行修改(压缩AssetBundle、保存配置文件、拷贝初始文件至安装包目录)"); if (restore) { LoadData(); } if (execute) { ExecuteModified(); } }
/// <summary> /// /// </summary> public override GUILayoutMultiSelectGroup.OperateResult Draw() { GUILayoutMultiSelectGroup.OperateResult result = null; for (int i = 0; i < Nodes.Count; ++i) { if (result == null) { result = Nodes[i].Draw(); } else { Nodes[i].Draw(); } } return(result); }
static GUILayoutMultiSelectGroup.OperateResult DrawAssetNode(AssetNode node, int space) { if (node.Element == null) { return(null); } if (node.Element.Name == ".DS_Store") { return(null); } bool is_ignore = node.Element != null && node.Element.Rule == (int)emAssetBundleNameRule.Ignore; GUI.color = is_ignore ? Color.grey : Color.white; GUILayoutMultiSelectGroup.OperateResult result = null; if (node.Element.IsFolder) { result = DrawAssetNodeFolder(node, space); } else { result = DrawAssetNodeFile(node, space); } //绘制子节点 if (!is_ignore && node.Expand) { if (node.Children != null) { foreach (var c in node.Children) { if (result == null) { result = DrawAssetNode(c, space + ASSET_NODE_LAYER_SPACE); } } } } GUI.color = Color.white; return(result); }
/// <summary> /// /// </summary> void OnGUI() { GUILayout.Space(3f); GUILayout.BeginHorizontal(); GUILayout.Label("资源版本号:", GUILayout.Width(96f)); Manifest.Data.Version = (uint)EditorGUILayout.IntField((int)Manifest.Data.Version); GUILayout.EndHorizontal(); GUILayout.Space(3f); GUILayout.BeginHorizontal(); GUILayout.Label("编号", "OL Title", GUILayout.Width(32f)); GUILayout.Label("资源", "OL Title"); GUILayout.Label("大小", "OL Title", GUILayout.Width(124f)); GUILayout.Label("压缩", "OL Title", GUILayout.Width(72f)); GUILayout.Label("打包到安装包", "OL Title", GUILayout.Width(84f)); GUILayout.Label("常驻内存", "OL Title", GUILayout.Width(60f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayoutMultiSelectGroup.OperateResult result = gui_multi_select_.Draw(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (result != null) { UpdateSelectOperate(result); } bool restore = GUILayout.Button("还原"); bool execute = GUILayout.Button("执行修改(压缩AssetBundle、保存配置文件、拷贝初始文件至安装包目录)"); if (restore) { LoadData(); } if (execute) { ExecuteModified(); } }