Compare commits

...

2 Commits

Author SHA1 Message Date
何冠峰 698d81a433 update AssetBundleDebugger 2025-02-05 10:51:31 +08:00
何冠峰 012f9b9f03 update UIElements 2025-02-05 10:38:47 +08:00
10 changed files with 133 additions and 91 deletions

View File

@ -53,7 +53,11 @@ namespace YooAsset.Editor
CreateDependTableViewColumns();
#if UNITY_2020_3_OR_NEWER
SplitView.Adjuster(_root);
var topGroup = _root.Q<VisualElement>("TopGroup");
var bottomGroup = _root.Q<VisualElement>("BottomGroup");
topGroup.style.minHeight = 100;
bottomGroup.style.minHeight = 100f;
PanelSplitView.SplitVerticalPanel(_root, topGroup, bottomGroup);
#endif
}
private void CreateAssetTableViewColumns()
@ -142,7 +146,7 @@ namespace YooAsset.Editor
// SpawnTime
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -169,7 +173,7 @@ namespace YooAsset.Editor
// LoadingTime
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -196,7 +200,7 @@ namespace YooAsset.Editor
// RefCount
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -223,7 +227,7 @@ namespace YooAsset.Editor
// Status
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -287,7 +291,7 @@ namespace YooAsset.Editor
// RefCount
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -314,7 +318,7 @@ namespace YooAsset.Editor
// Status
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;

View File

@ -54,7 +54,11 @@ namespace YooAsset.Editor
CreateUsingTableViewColumns();
#if UNITY_2020_3_OR_NEWER
SplitView.Adjuster(_root);
var topGroup = _root.Q<VisualElement>("TopGroup");
var bottomGroup = _root.Q<VisualElement>("BottomGroup");
topGroup.style.minHeight = 100;
bottomGroup.style.minHeight = 100f;
PanelSplitView.SplitVerticalPanel(_root, topGroup, bottomGroup);
#endif
}
private void CreateBundleTableViewColumns()
@ -116,7 +120,7 @@ namespace YooAsset.Editor
// RefCount
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -143,7 +147,7 @@ namespace YooAsset.Editor
// Status
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -234,7 +238,7 @@ namespace YooAsset.Editor
// SpawnTime
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -261,7 +265,7 @@ namespace YooAsset.Editor
// RefCount
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;
@ -288,7 +292,7 @@ namespace YooAsset.Editor
// Status
{
var columnStyle = new ColumnStyle();
columnStyle.Width = 150;
columnStyle.Width = 100;
columnStyle.Stretchable = false;
columnStyle.Searchable = false;
columnStyle.Sortable = true;

View File

@ -57,7 +57,11 @@ namespace YooAsset.Editor
CreateDependTableViewColumns();
#if UNITY_2020_3_OR_NEWER
SplitView.Adjuster(_root);
var topGroup = _root.Q<VisualElement>("TopGroup");
var bottomGroup = _root.Q<VisualElement>("BottomGroup");
topGroup.style.minHeight = 100;
bottomGroup.style.minHeight = 100f;
PanelSplitView.SplitVerticalPanel(_root, topGroup, bottomGroup);
#endif
}
private void CreateAssetTableViewColumns()

View File

@ -57,7 +57,11 @@ namespace YooAsset.Editor
CreateIncludeTableViewColumns();
#if UNITY_2020_3_OR_NEWER
SplitView.Adjuster(_root);
var topGroup = _root.Q<VisualElement>("TopGroup");
var bottomGroup = _root.Q<VisualElement>("BottomGroup");
topGroup.style.minHeight = 100;
bottomGroup.style.minHeight = 100f;
PanelSplitView.SplitVerticalPanel(_root, topGroup, bottomGroup);
#endif
}
private void CreateBundleTableViewColumns()

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5f915322e2be56345a9d145800f7a0e0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,41 @@
#if UNITY_2019_4_OR_NEWER
using System;
using UnityEditor;
using UnityEngine;
using UnityEditor.UIElements;
using UnityEngine.UIElements;
namespace YooAsset.Editor
{
/// <summary>
/// 显示开关(眼睛图标)
/// </summary>
public class DisplayToggle : Toggle
{
private readonly VisualElement _checkbox;
public DisplayToggle()
{
_checkbox = this.Q<VisualElement>("unity-checkmark");
RefreshIcon();
}
/// <summary>
/// 刷新图标
/// </summary>
public void RefreshIcon()
{
if (this.value)
{
var icon = EditorGUIUtility.IconContent("animationvisibilitytoggleoff@2x").image as Texture2D;
_checkbox.style.backgroundImage = icon;
}
else
{
var icon = EditorGUIUtility.IconContent("animationvisibilitytoggleon@2x").image as Texture2D;
_checkbox.style.backgroundImage = icon;
}
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 551a9db915a2cf744ac6088e7c634689
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,42 @@
#if UNITY_2020_3_OR_NEWER
using System;
using UnityEditor;
using UnityEngine;
using UnityEditor.UIElements;
using UnityEngine.UIElements;
namespace YooAsset.Editor
{
/// <summary>
/// 分屏控件
/// </summary>
public class PanelSplitView : TwoPaneSplitView
{
#if UNITY_6000_0_OR_NEWER
public new class UxmlFactory : UxmlElementAttribute
{
}
#else
public new class UxmlFactory : UxmlFactory<PanelSplitView, TwoPaneSplitView.UxmlTraits>
{
}
#endif
/// <summary>
/// 竖版分屏
/// </summary>
public static void SplitVerticalPanel(VisualElement root, VisualElement panelA, VisualElement panelB)
{
root.Remove(panelA);
root.Remove(panelB);
var spliteView = new PanelSplitView();
spliteView.fixedPaneInitialDimension = 300;
spliteView.orientation = TwoPaneSplitViewOrientation.Vertical;
spliteView.contentContainer.Add(panelA);
spliteView.contentContainer.Add(panelB);
root.Add(spliteView);
}
}
}
#endif

View File

@ -1,76 +0,0 @@
#if UNITY_2020_3_OR_NEWER
using System;
using UnityEditor;
using UnityEngine;
using UnityEditor.UIElements;
using UnityEngine.UIElements;
namespace YooAsset.Editor
{
/// <summary>
/// 分屏控件
/// </summary>
public class SplitView : TwoPaneSplitView
{
#if UNITY_6000_0_OR_NEWER
public new class UxmlFactory : UxmlElementAttribute
{
}
#else
public new class UxmlFactory : UxmlFactory<SplitView, TwoPaneSplitView.UxmlTraits>
{
}
#endif
/// <summary>
/// 窗口分屏适配
/// </summary>
public static void Adjuster(VisualElement root)
{
var topGroup = root.Q<VisualElement>("TopGroup");
var bottomGroup = root.Q<VisualElement>("BottomGroup");
topGroup.style.minHeight = 100f;
bottomGroup.style.minHeight = 100f;
root.Remove(topGroup);
root.Remove(bottomGroup);
var spliteView = new SplitView();
spliteView.fixedPaneInitialDimension = 300;
spliteView.orientation = TwoPaneSplitViewOrientation.Vertical;
spliteView.contentContainer.Add(topGroup);
spliteView.contentContainer.Add(bottomGroup);
root.Add(spliteView);
}
}
/// <summary>
/// 显示开关(眼睛图标)
/// </summary>
public class DisplayToggle : Toggle
{
private readonly VisualElement _checkbox;
public DisplayToggle()
{
_checkbox = this.Q<VisualElement>("unity-checkmark");
RefreshIcon();
}
/// <summary>
/// 刷新图标
/// </summary>
public void RefreshIcon()
{
if (this.value)
{
var icon = EditorGUIUtility.IconContent("animationvisibilitytoggleoff@2x").image as Texture2D;
_checkbox.style.backgroundImage = icon;
}
else
{
var icon = EditorGUIUtility.IconContent("animationvisibilitytoggleon@2x").image as Texture2D;
_checkbox.style.backgroundImage = icon;
}
}
}
}
#endif