/// <summary> /// 初始化页面 /// </summary> public void InitViewer() { // 加载布局文件 _visualAsset = EditorHelper.LoadWindowUXML <DebuggerAssetListViewer>(); if (_visualAsset == null) { return; } _root = _visualAsset.CloneTree(); _root.style.flexGrow = 1f; // 资源列表 _assetListView = _root.Q <ListView>("TopListView"); _assetListView.makeItem = MakeAssetListViewItem; _assetListView.bindItem = BindAssetListViewItem; #if UNITY_2020_1_OR_NEWER _assetListView.onSelectionChange += AssetListView_onSelectionChange; #else _assetListView.onSelectionChanged += AssetListView_onSelectionChange; #endif // 依赖列表 _dependListView = _root.Q <ListView>("BottomListView"); _dependListView.makeItem = MakeDependListViewItem; _dependListView.bindItem = BindDependListViewItem; }
public void CreateGUI() { try { VisualElement root = this.rootVisualElement; // 加载布局文件 var visualAsset = EditorHelper.LoadWindowUXML <AssetBundleReporterWindow>(); if (visualAsset == null) { return; } visualAsset.CloneTree(root); // 导入按钮 var importBtn = root.Q <Button>("ImportButton"); importBtn.clicked += ImportBtn_onClick; // 视图模式菜单 _viewModeMenu = root.Q <ToolbarMenu>("ViewModeMenu"); _viewModeMenu.menu.AppendAction(EViewMode.Summary.ToString(), ViewModeMenuAction0, ViewModeMenuFun0); _viewModeMenu.menu.AppendAction(EViewMode.AssetView.ToString(), ViewModeMenuAction1, ViewModeMenuFun1); _viewModeMenu.menu.AppendAction(EViewMode.BundleView.ToString(), ViewModeMenuAction2, ViewModeMenuFun2); // 搜索栏 var searchField = root.Q <ToolbarSearchField>("SearchField"); searchField.RegisterValueChangedCallback(OnSearchKeyWordChange); // 加载视图 _summaryViewer = new ReporterSummaryViewer(); _summaryViewer.InitViewer(); // 加载视图 _assetListViewer = new ReporterAssetListViewer(); _assetListViewer.InitViewer(); // 加载视图 _bundleListViewer = new ReporterBundleListViewer(); _bundleListViewer.InitViewer(); // 显示视图 _viewMode = EViewMode.Summary; _viewModeMenu.text = EViewMode.Summary.ToString(); _summaryViewer.AttachParent(root); } catch (Exception e) { Debug.LogError(e.ToString()); } }
/// <summary> /// 初始化页面 /// </summary> public void InitViewer() { // 加载布局文件 _visualAsset = EditorHelper.LoadWindowUXML <ReporterSummaryViewer>(); if (_visualAsset == null) { return; } _root = _visualAsset.CloneTree(); _root.style.flexGrow = 1f; // 概述列表 _listView = _root.Q <ListView>("ListView"); _listView.makeItem = MakeListViewItem; _listView.bindItem = BindListViewItem; }
/// <summary> /// 初始化页面 /// </summary> public void InitViewer() { // 加载布局文件 _visualAsset = EditorHelper.LoadWindowUXML <ReporterBundleListViewer>(); if (_visualAsset == null) { return; } _root = _visualAsset.CloneTree(); _root.style.flexGrow = 1f; // 顶部按钮栏 _topBar1 = _root.Q <ToolbarButton>("TopBar1"); _topBar2 = _root.Q <ToolbarButton>("TopBar2"); _topBar3 = _root.Q <ToolbarButton>("TopBar3"); _topBar4 = _root.Q <ToolbarButton>("TopBar4"); _topBar1.clicked += TopBar1_clicked; _topBar2.clicked += TopBar2_clicked; _topBar3.clicked += TopBar3_clicked; _topBar4.clicked += TopBar4_clicked; // 底部按钮栏 _bottomBar1 = _root.Q <ToolbarButton>("BottomBar1"); // 资源包列表 _bundleListView = _root.Q <ListView>("TopListView"); _bundleListView.makeItem = MakeBundleListViewItem; _bundleListView.bindItem = BindBundleListViewItem; #if UNITY_2020_1_OR_NEWER _bundleListView.onSelectionChange += BundleListView_onSelectionChange; #else _bundleListView.onSelectionChanged += BundleListView_onSelectionChange; #endif // 包含列表 _includeListView = _root.Q <ListView>("BottomListView"); _includeListView.makeItem = MakeIncludeListViewItem; _includeListView.bindItem = BindIncludeListViewItem; }
/// <summary> /// 初始化页面 /// </summary> public void InitViewer() { // 加载布局文件 _visualAsset = EditorHelper.LoadWindowUXML <ReporterAssetListViewer>(); if (_visualAsset == null) { return; } _root = _visualAsset.CloneTree(); _root.style.flexGrow = 1f; // 顶部按钮栏 _topBar1 = _root.Q <ToolbarButton>("TopBar1"); _topBar2 = _root.Q <ToolbarButton>("TopBar2"); _topBar1.clicked += TopBar1_clicked; _topBar2.clicked += TopBar2_clicked; // 底部按钮栏 _bottomBar1 = _root.Q <ToolbarButton>("BottomBar1"); // 资源列表 _assetListView = _root.Q <ListView>("TopListView"); _assetListView.makeItem = MakeAssetListViewItem; _assetListView.bindItem = BindAssetListViewItem; #if UNITY_2020_1_OR_NEWER _assetListView.onSelectionChange += AssetListView_onSelectionChange; #else _assetListView.onSelectionChanged += AssetListView_onSelectionChange; #endif // 依赖列表 _dependListView = _root.Q <ListView>("BottomListView"); _dependListView.makeItem = MakeDependListViewItem; _dependListView.bindItem = BindDependListViewItem; }
public void CreateGUI() { try { VisualElement root = this.rootVisualElement; // 加载布局文件 var visualAsset = EditorHelper.LoadWindowUXML <AssetBundleBuilderWindow>(); if (visualAsset == null) { return; } visualAsset.CloneTree(root); _buildTarget = EditorUserBuildSettings.activeBuildTarget; _encryptionServicesClassTypes = GetEncryptionServicesClassTypes(); _encryptionServicesClassNames = _encryptionServicesClassTypes.Select(t => t.FullName).ToList(); // 输出目录 string defaultOutputRoot = AssetBundleBuilderHelper.GetDefaultOutputRoot(); string pipelineOutputDirectory = AssetBundleBuilderHelper.MakePipelineOutputDirectory(defaultOutputRoot, _buildTarget); _buildOutputField = root.Q <TextField>("BuildOutput"); _buildOutputField.SetValueWithoutNotify(pipelineOutputDirectory); _buildOutputField.SetEnabled(false); // 构建版本 _buildVersionField = root.Q <IntegerField>("BuildVersion"); _buildVersionField.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.BuildVersion); _buildVersionField.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.BuildVersion = _buildVersionField.value; }); // 构建模式 _buildModeField = root.Q <EnumField>("BuildMode"); _buildModeField.Init(AssetBundleBuilderSettingData.Setting.BuildMode); _buildModeField.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.BuildMode); _buildModeField.style.width = 300; _buildModeField.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.BuildMode = (EBuildMode)_buildModeField.value; RefreshWindow(); }); // 内置资源标签 _buildinTagsField = root.Q <TextField>("BuildinTags"); _buildinTagsField.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.BuildTags); _buildinTagsField.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.BuildTags = _buildinTagsField.value; }); // 加密方法 var encryptionContainer = root.Q("EncryptionContainer"); if (_encryptionServicesClassNames.Count > 0) { int defaultIndex = GetEncryptionDefaultIndex(AssetBundleBuilderSettingData.Setting.EncyptionClassName); _encryptionField = new PopupField <string>(_encryptionServicesClassNames, defaultIndex); _encryptionField.label = "Encryption"; _encryptionField.style.width = 300; _encryptionField.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.EncyptionClassName = _encryptionField.value; }); encryptionContainer.Add(_encryptionField); } else { _encryptionField = new PopupField <string>(); _encryptionField.label = "Encryption"; _encryptionField.style.width = 300; encryptionContainer.Add(_encryptionField); } // 压缩方式 _compressionField = root.Q <EnumField>("Compression"); _compressionField.Init(AssetBundleBuilderSettingData.Setting.CompressOption); _compressionField.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.CompressOption); _compressionField.style.width = 300; _compressionField.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.CompressOption = (ECompressOption)_compressionField.value; }); // 附加后缀格式 _appendExtensionToggle = root.Q <Toggle>("AppendExtension"); _appendExtensionToggle.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.AppendExtension); _appendExtensionToggle.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.AppendExtension = _appendExtensionToggle.value; }); // 拷贝首包文件 _copyBuildinTagFilesToggle = root.Q <Toggle>("CopyBuildinFiles"); _copyBuildinTagFilesToggle.SetValueWithoutNotify(AssetBundleBuilderSettingData.Setting.CopyBuildinTagFiles); _copyBuildinTagFilesToggle.RegisterValueChangedCallback(evt => { AssetBundleBuilderSettingData.Setting.CopyBuildinTagFiles = _copyBuildinTagFilesToggle.value; }); // 构建按钮 var buildButton = root.Q <Button>("Build"); buildButton.clicked += BuildButton_clicked;; RefreshWindow(); } catch (Exception e) { Debug.LogError(e.ToString()); } }
public void CreateGUI() { Undo.undoRedoPerformed -= RefreshWindow; Undo.undoRedoPerformed += RefreshWindow; try { _collectorTypeList = new List <string>() { $"{nameof(ECollectorType.MainAssetCollector)}", $"{nameof(ECollectorType.StaticAssetCollector)}", $"{nameof(ECollectorType.DependAssetCollector)}" }; _addressRuleList = AssetBundleCollectorSettingData.GetAddressRuleNames(); _packRuleList = AssetBundleCollectorSettingData.GetPackRuleNames(); _filterRuleList = AssetBundleCollectorSettingData.GetFilterRuleNames(); VisualElement root = this.rootVisualElement; // 加载布局文件 var visualAsset = EditorHelper.LoadWindowUXML <AssetBundleCollectorWindow>(); if (visualAsset == null) { return; } visualAsset.CloneTree(root); // 导入导出按钮 var exportBtn = root.Q <Button>("ExportButton"); exportBtn.clicked += ExportBtn_clicked; var importBtn = root.Q <Button>("ImportButton"); importBtn.clicked += ImportBtn_clicked; // 公共设置相关 _enableAddressableToogle = root.Q <Toggle>("EnableAddressable"); _enableAddressableToogle.RegisterValueChangedCallback(evt => { AssetBundleCollectorSettingData.ModifyAddressable(evt.newValue); }); _autoCollectShaderToogle = root.Q <Toggle>("AutoCollectShader"); _autoCollectShaderToogle.RegisterValueChangedCallback(evt => { AssetBundleCollectorSettingData.ModifyShader(evt.newValue, _shaderBundleNameTxt.value); _shaderBundleNameTxt.SetEnabled(evt.newValue); }); _shaderBundleNameTxt = root.Q <TextField>("ShaderBundleName"); _shaderBundleNameTxt.RegisterValueChangedCallback(evt => { AssetBundleCollectorSettingData.ModifyShader(_autoCollectShaderToogle.value, evt.newValue); }); // 分组列表相关 _groupListView = root.Q <ListView>("GroupListView"); _groupListView.makeItem = MakeGroupListViewItem; _groupListView.bindItem = BindGroupListViewItem; #if UNITY_2020_1_OR_NEWER _groupListView.onSelectionChange += GroupListView_onSelectionChange; #else _groupListView.onSelectionChanged += GroupListView_onSelectionChange; #endif // 分组添加删除按钮 var groupAddContainer = root.Q("GroupAddContainer"); { var addBtn = groupAddContainer.Q <Button>("AddBtn"); addBtn.clicked += AddGroupBtn_clicked; var removeBtn = groupAddContainer.Q <Button>("RemoveBtn"); removeBtn.clicked += RemoveGroupBtn_clicked; } // 分组容器 _groupContainer = root.Q("GroupContainer"); // 分组名称 _groupNameTxt = root.Q <TextField>("GroupName"); _groupNameTxt.RegisterValueChangedCallback(evt => { var selectGroup = _groupListView.selectedItem as AssetBundleCollectorGroup; if (selectGroup != null) { selectGroup.GroupName = evt.newValue; AssetBundleCollectorSettingData.ModifyGroup(selectGroup); } }); // 分组备注 _groupDescTxt = root.Q <TextField>("GroupDesc"); _groupDescTxt.RegisterValueChangedCallback(evt => { var selectGroup = _groupListView.selectedItem as AssetBundleCollectorGroup; if (selectGroup != null) { selectGroup.GroupDesc = evt.newValue; AssetBundleCollectorSettingData.ModifyGroup(selectGroup); } }); // 分组的资源标签 _groupAssetTagsTxt = root.Q <TextField>("GroupAssetTags"); _groupAssetTagsTxt.RegisterValueChangedCallback(evt => { var selectGroup = _groupListView.selectedItem as AssetBundleCollectorGroup; if (selectGroup != null) { selectGroup.AssetTags = evt.newValue; AssetBundleCollectorSettingData.ModifyGroup(selectGroup); } }); // 收集列表相关 _collectorScrollView = root.Q <ScrollView>("CollectorScrollView"); _collectorScrollView.style.height = new Length(100, LengthUnit.Percent); _collectorScrollView.viewDataKey = "scrollView"; // 收集器创建按钮 var collectorAddContainer = root.Q("CollectorAddContainer"); { var addBtn = collectorAddContainer.Q <Button>("AddBtn"); addBtn.clicked += AddCollectorBtn_clicked; } // 刷新窗体 RefreshWindow(); } catch (System.Exception e) { Debug.LogError(e.ToString()); } }