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;
                 }
             }
         }
     }
 }
Exemple #3
0
            /// <summary>
            ///
            /// </summary>
            public override GUILayoutMultiSelectGroup.OperateResult Draw()
            {
                GUILayoutMultiSelectGroup.OperateResult result = null;
                if (Root != null)
                {
                    result = Root.Draw();
                }

                return(result);
            }
Exemple #4
0
        /// <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);
            }
Exemple #6
0
            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();
            }
        }