mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-06-29 01:43:56 +00:00
提示信息和搜索时屏蔽操作按钮
This commit is contained in:
@@ -14,12 +14,19 @@ namespace YooAsset.Editor
|
||||
[MenuItem("YooAsset/AssetBundle Collector", false, 101)]
|
||||
public static void OpenWindow()
|
||||
{
|
||||
AssetBundleCollectorWindow window = GetWindow<AssetBundleCollectorWindow>("AssetBundle Collector", true, WindowsDefine.DockedWindowTypes);
|
||||
AssetBundleCollectorWindow window =
|
||||
GetWindow<AssetBundleCollectorWindow>("AssetBundle Collector", true, WindowsDefine.DockedWindowTypes);
|
||||
window.minSize = new Vector2(800, 600);
|
||||
}
|
||||
|
||||
private VisualElement _mainContainer;
|
||||
private VisualElement _searchContainer;
|
||||
private enum EViewMode
|
||||
{
|
||||
Normal,
|
||||
Search,
|
||||
}
|
||||
|
||||
private EViewMode _viewMode;
|
||||
private string _searchKey;
|
||||
|
||||
private ToolbarSearchField _searchField;
|
||||
|
||||
@@ -52,12 +59,14 @@ namespace YooAsset.Editor
|
||||
private ListView _packageListView;
|
||||
private TextField _packageNameTxt;
|
||||
private TextField _packageDescTxt;
|
||||
private VisualElement _packageOperationContainer;
|
||||
|
||||
private VisualElement _groupContainer;
|
||||
private ListView _groupListView;
|
||||
private TextField _groupNameTxt;
|
||||
private TextField _groupDescTxt;
|
||||
private TextField _groupTagsTxt;
|
||||
private VisualElement _groupOperationContainer;
|
||||
|
||||
private VisualElement _collectorContainer;
|
||||
private ScrollView _collectorScrollView;
|
||||
@@ -73,6 +82,8 @@ namespace YooAsset.Editor
|
||||
{
|
||||
try
|
||||
{
|
||||
_viewMode = EViewMode.Normal;
|
||||
|
||||
_collectorTypeList = new List<string>()
|
||||
{
|
||||
$"{nameof(ECollectorType.MainAssetCollector)}",
|
||||
@@ -94,9 +105,6 @@ namespace YooAsset.Editor
|
||||
|
||||
visualAsset.CloneTree(root);
|
||||
|
||||
_mainContainer = root.Q<VisualElement>("MainContainer");
|
||||
_searchContainer = root.Q<VisualElement>("SearchContainer");
|
||||
|
||||
_searchField = root.Q<ToolbarSearchField>("SearchField");
|
||||
_searchField.RegisterValueChangedCallback(OnSearchFieldValueChanged);
|
||||
|
||||
@@ -232,6 +240,7 @@ namespace YooAsset.Editor
|
||||
var removeBtn = packageAddContainer.Q<Button>("RemoveBtn");
|
||||
removeBtn.clicked += RemovePackageBtn_clicked;
|
||||
}
|
||||
_packageOperationContainer = packageAddContainer;
|
||||
|
||||
// 包裹名称
|
||||
_packageNameTxt = root.Q<TextField>("PackageName");
|
||||
@@ -279,6 +288,7 @@ namespace YooAsset.Editor
|
||||
var removeBtn = groupAddContainer.Q<Button>("RemoveBtn");
|
||||
removeBtn.clicked += RemoveGroupBtn_clicked;
|
||||
}
|
||||
_groupOperationContainer = groupAddContainer;
|
||||
|
||||
// 分组容器
|
||||
_groupContainer = root.Q("GroupContainer");
|
||||
@@ -372,16 +382,18 @@ namespace YooAsset.Editor
|
||||
|
||||
private void OnSearchFieldValueChanged(ChangeEvent<string> evt)
|
||||
{
|
||||
if (string.IsNullOrEmpty(evt.newValue))
|
||||
_searchKey = evt.newValue;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(evt.newValue))
|
||||
{
|
||||
_mainContainer.style.display = DisplayStyle.Flex;
|
||||
_searchContainer.style.display = DisplayStyle.None;
|
||||
_viewMode = EViewMode.Normal;
|
||||
}
|
||||
else
|
||||
{
|
||||
_mainContainer.style.display = DisplayStyle.None;
|
||||
_searchContainer.style.display = DisplayStyle.Flex;
|
||||
_viewMode = EViewMode.Search;
|
||||
}
|
||||
|
||||
RefreshWindow();
|
||||
}
|
||||
|
||||
public void OnEnable()
|
||||
@@ -425,7 +437,17 @@ namespace YooAsset.Editor
|
||||
|
||||
FillPackageViewData();
|
||||
RefreshSettings();
|
||||
RefreshOperationContainer();
|
||||
}
|
||||
|
||||
private void RefreshOperationContainer()
|
||||
{
|
||||
_packageOperationContainer.style.display =
|
||||
_viewMode == EViewMode.Normal ? DisplayStyle.Flex : DisplayStyle.None;
|
||||
_groupOperationContainer.style.display =
|
||||
_viewMode == EViewMode.Normal ? DisplayStyle.Flex : DisplayStyle.None;
|
||||
}
|
||||
|
||||
private void FixBtn_clicked()
|
||||
{
|
||||
AssetBundleCollectorSettingData.FixFile();
|
||||
@@ -542,6 +564,13 @@ namespace YooAsset.Editor
|
||||
#if UNITY_2020_3_OR_NEWER
|
||||
_helpBoxContainer.Clear();
|
||||
|
||||
if (_viewMode == EViewMode.Search)
|
||||
{
|
||||
string tips = "Currently in search mode";
|
||||
var helpBox = new HelpBox(tips, HelpBoxMessageType.Error);
|
||||
_helpBoxContainer.Add(helpBox);
|
||||
}
|
||||
|
||||
if (_enableAddressableToogle.value && _locationToLowerToogle.value)
|
||||
{
|
||||
string tips = "The [Enable Addressable] option and [Location To Lower] option cannot be enabled at the same time.";
|
||||
@@ -576,6 +605,31 @@ namespace YooAsset.Editor
|
||||
_packageListView.selectedIndex = _lastModifyPackageIndex;
|
||||
}
|
||||
}
|
||||
|
||||
private void FillPackageViewDataWithSearch(string searchKey)
|
||||
{
|
||||
_packageListView.Clear();
|
||||
_packageListView.ClearSelection();
|
||||
|
||||
List<AssetBundleCollectorPackage> packages = new List<AssetBundleCollectorPackage>();
|
||||
|
||||
foreach (var package in AssetBundleCollectorSettingData.Setting.Packages)
|
||||
{
|
||||
if (package.PackageName.ToLower().Contains(searchKey.ToLower()))
|
||||
{
|
||||
packages.Add(package);
|
||||
}
|
||||
}
|
||||
|
||||
_packageListView.itemsSource = packages;
|
||||
_packageListView.Rebuild();
|
||||
|
||||
if (_lastModifyPackageIndex >= 0 && _lastModifyPackageIndex < _packageListView.itemsSource.Count)
|
||||
{
|
||||
_packageListView.selectedIndex = _lastModifyPackageIndex;
|
||||
}
|
||||
}
|
||||
|
||||
private VisualElement MakePackageListViewItem()
|
||||
{
|
||||
VisualElement element = new VisualElement();
|
||||
|
||||
@@ -6,58 +6,55 @@
|
||||
<ui:Button text="Fix" display-tooltip-when-elided="true" name="FixButton" style="width: 50px; background-color: rgb(56, 147, 58);" />
|
||||
<uie:ToolbarSearchField name="SearchField" />
|
||||
</uie:Toolbar>
|
||||
<ui:VisualElement name="MainContainer" style="flex-grow: 1;">
|
||||
<ui:VisualElement name="PublicContainer" style="background-color: rgb(79, 79, 79); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:VisualElement name="HelpBoxContainer" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="GlobalSettingsContainer">
|
||||
<ui:Button text="Global Settings" name="GlobalSettingsButton" />
|
||||
<ui:VisualElement name="PublicContainer1">
|
||||
<ui:Toggle label="Show Packages" name="ShowPackages" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Show Rule Alias" name="ShowRuleAlias" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Unique Bundle Name" name="UniqueBundleName" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="PackageSettingsContainer">
|
||||
<ui:Button text="Package Settings" display-tooltip-when-elided="true" name="PackageSettingsButton" />
|
||||
<ui:VisualElement name="PublicContainer2">
|
||||
<ui:Toggle label="Enable Addressable" name="EnableAddressable" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Location To Lower" name="LocationToLower" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Include Asset GUID" name="IncludeAssetGUID" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Auto Collect Shaders" name="AutoCollectShaders" value="true" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="PublicContainer" style="background-color: rgb(79, 79, 79); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:VisualElement name="HelpBoxContainer" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="GlobalSettingsContainer">
|
||||
<ui:Button text="Global Settings" name="GlobalSettingsButton" />
|
||||
<ui:VisualElement name="PublicContainer1">
|
||||
<ui:Toggle label="Show Packages" name="ShowPackages" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Show Rule Alias" name="ShowRuleAlias" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Unique Bundle Name" name="UniqueBundleName" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="ContentContainer" style="flex-grow: 1; flex-direction: row;">
|
||||
<ui:VisualElement name="PackageContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Packages" display-tooltip-when-elided="true" name="PackageTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:ListView focusable="true" name="PackageListView" virtualization-method="DynamicHeight" reorderable="true" reorder-mode="Animated" fixed-item-height="20" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="PackageAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
||||
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
||||
<ui:Button text=" + " display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="GroupContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Groups" display-tooltip-when-elided="true" name="GroupTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Package Name" name="PackageName" style="flex-direction: column;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Package Desc" name="PackageDesc" style="flex-direction: column;" />
|
||||
<ui:ListView focusable="true" name="GroupListView" virtualization-method="DynamicHeight" reorderable="true" reorder-mode="Animated" fixed-item-height="20" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="GroupAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
||||
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
||||
<ui:Button text=" + " display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="CollectorContainer" style="flex-grow: 1; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Collectors" display-tooltip-when-elided="true" name="CollectorTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:VisualElement name="ActiveRuleContainer" style="height: 20px;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Group Name" name="GroupName" />
|
||||
<ui:TextField picking-mode="Ignore" label="Group Desc" name="GroupDesc" />
|
||||
<ui:TextField picking-mode="Ignore" label="Asset Tags" name="GroupTags" />
|
||||
<ui:VisualElement name="CollectorAddContainer" style="height: 20px; flex-direction: row-reverse;">
|
||||
<ui:Button text="[ + ]" display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
<ui:ScrollView name="CollectorScrollView" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="PackageSettingsContainer">
|
||||
<ui:Button text="Package Settings" display-tooltip-when-elided="true" name="PackageSettingsButton" />
|
||||
<ui:VisualElement name="PublicContainer2">
|
||||
<ui:Toggle label="Enable Addressable" name="EnableAddressable" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Location To Lower" name="LocationToLower" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Include Asset GUID" name="IncludeAssetGUID" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
<ui:Toggle label="Auto Collect Shaders" name="AutoCollectShaders" value="true" style="width: 196px; -unity-text-align: middle-left;" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="SearchContainer" enabled="true" style="flex-grow: 1; visibility: visible; display: none;" />
|
||||
<ui:VisualElement name="ContentContainer" style="flex-grow: 1; flex-direction: row;">
|
||||
<ui:VisualElement name="PackageContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Packages" display-tooltip-when-elided="true" name="PackageTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:ListView focusable="true" name="PackageListView" virtualization-method="DynamicHeight" reorderable="true" reorder-mode="Animated" fixed-item-height="20" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="PackageAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
||||
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
||||
<ui:Button text=" + " display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="GroupContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Groups" display-tooltip-when-elided="true" name="GroupTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Package Name" name="PackageName" style="flex-direction: column;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Package Desc" name="PackageDesc" style="flex-direction: column;" />
|
||||
<ui:ListView focusable="true" name="GroupListView" virtualization-method="DynamicHeight" reorderable="true" reorder-mode="Animated" fixed-item-height="20" style="flex-grow: 1;" />
|
||||
<ui:VisualElement name="GroupAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
||||
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
||||
<ui:Button text=" + " display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="CollectorContainer" style="flex-grow: 1; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||
<ui:Label text="Collectors" display-tooltip-when-elided="true" name="CollectorTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||
<ui:VisualElement name="ActiveRuleContainer" style="height: 20px;" />
|
||||
<ui:TextField picking-mode="Ignore" label="Group Name" name="GroupName" />
|
||||
<ui:TextField picking-mode="Ignore" label="Group Desc" name="GroupDesc" />
|
||||
<ui:TextField picking-mode="Ignore" label="Asset Tags" name="GroupTags" />
|
||||
<ui:VisualElement name="CollectorAddContainer" style="height: 20px; flex-direction: row-reverse;">
|
||||
<ui:Button text="[ + ]" display-tooltip-when-elided="true" name="AddBtn" />
|
||||
</ui:VisualElement>
|
||||
<ui:ScrollView name="CollectorScrollView" style="flex-grow: 1;" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
Reference in New Issue
Block a user