Compare commits

..

2 Commits

Author SHA1 Message Date
hypercross 7ec5a903c5 fix: the correct fix 2025-09-06 19:44:39 +08:00
hypercross 4bd75f2868 Revert "fix: vfolders for unity 6.2"
This reverts commit e35f5e0261.
2025-09-06 19:42:18 +08:00
4 changed files with 34 additions and 19 deletions

View File

@ -18,6 +18,10 @@ using static VFolders.Libs.VGUI;
using static VFolders.VFoldersData;
using static VFolders.VFoldersCache;
#if UNITY_6000_2_OR_NEWER
using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem<int>;
using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState<int>;
#endif
namespace VFolders
@ -97,7 +101,7 @@ namespace VFolders
var maxScrollPos = 20;
var scrollPos = window.GetMemberValue(isOneColumn ? "m_AssetTree" : "m_FolderTree").GetMemberValue<UnityEditor.IMGUI.Controls.TreeViewState<int>>("state").scrollPos.y;
var scrollPos = window.GetMemberValue(isOneColumn ? "m_AssetTree" : "m_FolderTree").GetMemberValue<TreeViewState>("state").scrollPos.y;
var opacity = ((scrollPos - minScrollPos) / (maxScrollPos - minScrollPos)).Clamp01();
@ -886,7 +890,7 @@ namespace VFolders
}
public static TreeViewItem<int> lastHoveredTreeItem;
public static TreeViewItem lastHoveredTreeItem;
public static Rect lastHoveredRowRect_screenSpace;

View File

@ -19,6 +19,10 @@ using static VFolders.VFolders;
using static VFolders.VFoldersData;
using static VFolders.VFoldersCache;
#if UNITY_6000_2_OR_NEWER
using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem<int>;
using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState<int>;
#endif
namespace VFolders
@ -148,7 +152,7 @@ namespace VFolders
var treeViewState = treeViewController?.GetPropertyValue<TreeViewState<int>>("state");
var treeViewState = treeViewController?.GetPropertyValue<TreeViewState>("state");
currentScrollPos = treeViewState?.scrollPos.y ?? 0;
@ -197,7 +201,7 @@ namespace VFolders
public void ToggleExpanded(TreeViewItem<int> item)
public void ToggleExpanded(TreeViewItem item)
{
SetExpanded_withAnimation(item.id, !expandedIds.Contains(item.id));
@ -233,12 +237,12 @@ namespace VFolders
}
public void Isolate(TreeViewItem<int> targetItem)
public void Isolate(TreeViewItem targetItem)
{
List<TreeViewItem<int>> getParents(TreeViewItem<int> item)
List<TreeViewItem> getParents(TreeViewItem item)
{
var parents = new List<TreeViewItem<int>>();
var parents = new List<TreeViewItem>();
while (item.parent != null)
parents.Add(item = item.parent);
@ -251,11 +255,11 @@ namespace VFolders
var expandedVisibleItems = new List<TreeViewItem<int>>();
var expandedVisibleItems = new List<TreeViewItem>();
foreach (var expandedId in expandedIds)
if (GetRowIndex(expandedId) is int rowIndex && rowIndex != -1)
expandedVisibleItems.Add(treeViewControllerData.InvokeMethod<TreeViewItem<int>>("GetItem", rowIndex));
expandedVisibleItems.Add(treeViewControllerData.InvokeMethod<TreeViewItem>("GetItem", rowIndex));
@ -391,7 +395,7 @@ namespace VFolders
public void SetScrollPos(float targetScrollPos)
{
treeViewController.GetPropertyValue<TreeViewState<int>>("state").scrollPos = Vector2.up * targetScrollPos;
treeViewController.GetPropertyValue<TreeViewState>("state").scrollPos = Vector2.up * targetScrollPos;
}

View File

@ -19,7 +19,10 @@ using static VFolders.VFolders;
using static VFolders.VFoldersData;
using static VFolders.VFoldersCache;
#if UNITY_6000_2_OR_NEWER
using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem<int>;
using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState<int>;
#endif
namespace VFolders
{
@ -50,7 +53,7 @@ namespace VFolders
TreeViewItem<int> treeItem = null;
TreeViewItem treeItem = null;
var isRowSelected = false;
var isRowBeingRenamed = false;
@ -88,7 +91,7 @@ namespace VFolders
if (treeItem != null) return;
if (isFavorite || isFavoritesRoot) return;
treeItem = treeViewController?.InvokeMethod<TreeViewItem<int>>("FindItem", instanceId);
treeItem = treeViewController?.InvokeMethod<TreeViewItem>("FindItem", instanceId);
}
@ -407,8 +410,8 @@ namespace VFolders
var depth = ((rowRect.x - 16) / 14).RoundToInt();
bool isLastChild(TreeViewItem<int> item) => item.parent?.children?.LastOrDefault() == item;
bool hasChilren(TreeViewItem<int> item) => item.children != null && item.children.Count > 0;
bool isLastChild(TreeViewItem item) => item.parent?.children?.LastOrDefault() == item;
bool hasChilren(TreeViewItem item) => item.children != null && item.children.Count > 0;
void calcVerticalGaps_beforeFirstRowDrawn()
{
@ -1123,10 +1126,10 @@ namespace VFolders
treeViewController = window.GetFieldValue(isTwoColumns ? "m_FolderTree" : "m_AssetTree");
treeViewControllerData = treeViewController?.GetPropertyValue("data");
rows = treeViewControllerData?.InvokeMethod<IList<TreeViewItem<int>>>("GetRows");
rows = treeViewControllerData?.InvokeMethod<IList<TreeViewItem>>("GetRows");
var treeViewState = treeViewController?.GetPropertyValue<TreeViewState<int>>("state");
var treeViewState = treeViewController?.GetPropertyValue<TreeViewState>("state");
expandedIds = treeViewState?.expandedIDs ?? new List<int>();
@ -1177,7 +1180,7 @@ namespace VFolders
public object treeViewController;
public object treeViewControllerData;
public IList<TreeViewItem<int>> rows;
public IList<TreeViewItem> rows;
public List<int> expandedIds = new();

View File

@ -20,6 +20,10 @@ using static VFolders.VFoldersData;
using static VFolders.VFoldersCache;
#if UNITY_6000_2_OR_NEWER
using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem<int>;
using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState<int>;
#endif
namespace VFolders
{
@ -216,7 +220,7 @@ namespace VFolders
var treeViewControllerState = treeViewController?.GetPropertyValue<TreeViewState<int>>("state");
var treeViewControllerState = treeViewController?.GetPropertyValue<TreeViewState>("state");
currentScrollPos = treeViewControllerState?.scrollPos.y ?? 0;