This commit is contained in:
geondo55
2025-05-12 09:35:23 +09:00
parent be2aa42500
commit 83d2d17542
6 changed files with 113 additions and 108 deletions

View File

@@ -39,7 +39,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 36} m_SizeDelta: {x: 0, y: 70}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8577872390119345382 --- !u!114 &8577872390119345382
MonoBehaviour: MonoBehaviour:
@@ -85,7 +85,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &7265355731575817915 --- !u!224 &7265355731575817915
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -342,6 +342,7 @@ GameObject:
- component: {fileID: 6516329988442884210} - component: {fileID: 6516329988442884210}
- component: {fileID: 499100886614822048} - component: {fileID: 499100886614822048}
- component: {fileID: 197987882297848403} - component: {fileID: 197987882297848403}
- component: {fileID: 2434642568171694670}
m_Layer: 5 m_Layer: 5
m_Name: Text (TMP) m_Name: Text (TMP)
m_TagString: Untagged m_TagString: Untagged
@@ -363,10 +364,10 @@ RectTransform:
m_Children: [] m_Children: []
m_Father: {fileID: 8835006081575840586} m_Father: {fileID: 8835006081575840586}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 150, y: -18} m_AnchoredPosition: {x: 0, y: -62}
m_SizeDelta: {x: 200, y: 15} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &499100886614822048 --- !u!222 &499100886614822048
CanvasRenderer: CanvasRenderer:
@@ -423,14 +424,14 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 14 m_fontSize: 12
m_fontSizeBase: 14 m_fontSizeBase: 12
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 0
m_fontSizeMin: 18 m_fontSizeMin: 18
m_fontSizeMax: 72 m_fontSizeMax: 72
m_fontStyle: 0 m_fontStyle: 0
m_HorizontalAlignment: 1 m_HorizontalAlignment: 2
m_VerticalAlignment: 512 m_VerticalAlignment: 512
m_textAlignment: 65535 m_textAlignment: 65535
m_characterSpacing: 0 m_characterSpacing: 0
@@ -467,6 +468,20 @@ MonoBehaviour:
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &2434642568171694670
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3173428625324700048}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 2
--- !u!1 &3184001677813492081 --- !u!1 &3184001677813492081
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -602,10 +617,10 @@ RectTransform:
- {fileID: 3057577346065872911} - {fileID: 3057577346065872911}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 40} m_SizeDelta: {x: 90, y: 80}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9006872392457284266 --- !u!222 &9006872392457284266
CanvasRenderer: CanvasRenderer:
@@ -684,7 +699,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nameText: {fileID: 197987882297848403} nameText: {fileID: 197987882297848403}
iconImage: {fileID: 8523083271074557203} thumbnail: {fileID: 8697110781996111556}
loadProgress: {fileID: 9157065393132299556} loadProgress: {fileID: 9157065393132299556}
expandButton: {fileID: 459961761490458298} expandButton: {fileID: 459961761490458298}
paddingRT: {fileID: 1659788767784672500} paddingRT: {fileID: 1659788767784672500}
@@ -720,17 +735,6 @@ MonoBehaviour:
lowerLine: {fileID: 4764771198905317747} lowerLine: {fileID: 4764771198905317747}
lineColor: {r: 1, g: 0, b: 0, a: 0.47058824} lineColor: {r: 1, g: 0, b: 0, a: 0.47058824}
highLight: {fileID: 4406185178758208484} highLight: {fileID: 4406185178758208484}
itemSprites:
- type: 1
sprite: {fileID: 21300000, guid: aeb5d9c57606d4dfe8a6b9fbf2f02724, type: 3}
- type: 2
sprite: {fileID: 21300000, guid: 11d239518c86e4f1a96c2548526f2d01, type: 3}
- type: 3
sprite: {fileID: 21300000, guid: 89898a01151c19c4580b1470257609cd, type: 3}
- type: 4
sprite: {fileID: 21300000, guid: 2a742499639b14fb6b84e6ee26c79416, type: 3}
- type: 5
sprite: {fileID: 21300000, guid: 7ba72824288e08d4cb3289c7b83c4fb5, type: 3}
isSelected: 0 isSelected: 0
--- !u!1 &3809916293675722094 --- !u!1 &3809916293675722094
GameObject: GameObject:
@@ -954,7 +958,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 40} m_SizeDelta: {x: 0, y: 80}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8712382800546322696 --- !u!222 &8712382800546322696
CanvasRenderer: CanvasRenderer:
@@ -1037,7 +1041,7 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 2851634799881106517} - component: {fileID: 2851634799881106517}
- component: {fileID: 5193183312611458682} - component: {fileID: 5193183312611458682}
- component: {fileID: 8523083271074557203} - component: {fileID: 8697110781996111556}
m_Layer: 5 m_Layer: 5
m_Name: IconImage m_Name: IconImage
m_TagString: Untagged m_TagString: Untagged
@@ -1059,10 +1063,10 @@ RectTransform:
m_Children: [] m_Children: []
m_Father: {fileID: 8835006081575840586} m_Father: {fileID: 8835006081575840586}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 30.5, y: -18} m_AnchoredPosition: {x: 0, y: 4}
m_SizeDelta: {x: 15, y: 15} m_SizeDelta: {x: 80, y: 50}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5193183312611458682 --- !u!222 &5193183312611458682
CanvasRenderer: CanvasRenderer:
@@ -1072,7 +1076,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6795736773272050223} m_GameObject: {fileID: 6795736773272050223}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!114 &8523083271074557203 --- !u!114 &8697110781996111556
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@@ -1081,7 +1085,7 @@ MonoBehaviour:
m_GameObject: {fileID: 6795736773272050223} m_GameObject: {fileID: 6795736773272050223}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
@@ -1092,16 +1096,13 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 0} m_Texture: {fileID: 0}
m_Type: 0 m_UVRect:
m_PreserveAspect: 0 serializedVersion: 2
m_FillCenter: 1 x: 0
m_FillMethod: 4 y: 0
m_FillAmount: 1 width: 1
m_FillClockwise: 1 height: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7801651291590131016 --- !u!1 &7801651291590131016
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -187,8 +187,8 @@ MonoBehaviour:
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
- m_Target: {fileID: 0} - m_Target: {fileID: -5127072004719193365}
m_TargetAssemblyTypeName: ScrollItemUI, Assembly-CSharp m_TargetAssemblyTypeName: XED.HierarchyTree.HierarchyScrollItemUI, Assembly-CSharp
m_MethodName: ToggleExpandCollapse m_MethodName: ToggleExpandCollapse
m_Mode: 1 m_Mode: 1
m_Arguments: m_Arguments:

View File

@@ -5,8 +5,6 @@ namespace XED.Manage
public PopupCanvasHandler(Canvas_Popup canvas_Popup) public PopupCanvasHandler(Canvas_Popup canvas_Popup)
{ {
canvas_Popup.panel_assetlibrary.scrollView.onSelect.AddListener(canvas_Popup.panel_assetproperties.Open); canvas_Popup.panel_assetlibrary.scrollView.onSelect.AddListener(canvas_Popup.panel_assetproperties.Open);
canvas_Popup.panel_assetlibrary.scrollView.onHover.AddListener(canvas_Popup.panel_thumbnail.HandleOpenClose);
canvas_Popup.panel_assetlibrary.scrollRect.onExit.AddListener(canvas_Popup.panel_thumbnail.HandleOpenClose);
canvas_Popup.panel_assetproperties.onClickPreview += canvas_Popup.panel_predefinedtype.Open; canvas_Popup.panel_assetproperties.onClickPreview += canvas_Popup.panel_predefinedtype.Open;
canvas_Popup.panel_thumbnail.onGetPosition += canvas_Popup.panel_assetlibrary.GetPositionX; canvas_Popup.panel_thumbnail.onGetPosition += canvas_Popup.panel_assetlibrary.GetPositionX;
} }

View File

@@ -68,8 +68,8 @@ namespace XED.AssetLibraryTree
scrollRect.setToNextSiblingItem.AddListener(SetToNextSiblingItem); scrollRect.setToNextSiblingItem.AddListener(SetToNextSiblingItem);
//아이템 하나당 높이값 저장 //아이템 하나당 높이값 저장
itemHeight = itemPrefab.GetComponent<RectTransform>().rect.height; itemHeight = itemPrefab.GetComponent<RectTransform>().rect.height;
//뷰포트에 몇개의 아이템이 보이는지 한개의 여유분을 두고 계산 float rowHeight = itemHeight + 10f; // row 간격 포함 (spacingY)
visibleItemCount = Mathf.CeilToInt(scrollRect.GetComponent<RectTransform>().sizeDelta.y / itemHeight) + 1; visibleItemCount = Mathf.CeilToInt(scrollRect.GetComponent<RectTransform>().sizeDelta.y / rowHeight) + 1;
searchInput.onValueChanged.AddListener(SearchData); searchInput.onValueChanged.AddListener(SearchData);
//searchCancelButton.onClick.RemoveAllListeners(); //searchCancelButton.onClick.RemoveAllListeners();
@@ -167,70 +167,74 @@ namespace XED.AssetLibraryTree
private void RebuildVisibleItems() private void RebuildVisibleItems()
{ {
float rowHeight = itemHeight + 10f;
float scrollY = content.anchoredPosition.y; float scrollY = content.anchoredPosition.y;
int newIndex = Mathf.FloorToInt(scrollY / itemHeight); int newRowIndex = Mathf.FloorToInt(scrollY / rowHeight);
if (newIndex < 0) if (newRowIndex < 0) newRowIndex = 0;
{
scrollY = 0;
newIndex = 0;
}
// If the visible index hasn't changed, do nothing. if (newRowIndex == currentIndex) return;
if (newIndex == currentIndex) return; currentIndex = newRowIndex;
currentIndex = newIndex; foreach (var item in activeItems) pool.Release(item);
// Clear and recycle active items.
foreach (var item in activeItems)
{
pool.Release(item);
}
activeItems.Clear(); activeItems.Clear();
if (data.Count == 0)
return;
int startIndex = Mathf.Clamp(currentIndex, 0, data.Count - 1); int itemsPerRow = 3;
int endIndex = Mathf.Clamp(currentIndex + visibleItemCount, 0, data.Count); int startIndex = Mathf.Clamp(currentIndex * itemsPerRow, 0, data.Count);
int endIndex = Mathf.Clamp((currentIndex + visibleItemCount) * itemsPerRow, 0, data.Count);
SetScrollItemUI(startIndex, endIndex); SetScrollItemUI(startIndex, endIndex);
} }
private void RebuildVisibleItems(AssetLibraryItem focusItem) private void RebuildVisibleItems(AssetLibraryItem focusItem)
{ {
int newIndex = data.FindIndex((x) => x == focusItem); int itemIndex = data.FindIndex((x) => x == focusItem);
currentIndex = newIndex; currentIndex = itemIndex / 3;
content.anchoredPosition = new Vector2(content.anchoredPosition.x, currentIndex * itemHeight);
// Clear and recycle active items. float rowHeight = itemHeight + 10f;
foreach (var item in activeItems) content.anchoredPosition = new Vector2(content.anchoredPosition.x, currentIndex * rowHeight);
{
pool.Release(item); foreach (var item in activeItems) pool.Release(item);
}
activeItems.Clear(); activeItems.Clear();
if (data.Count == 0)
return;
int startIndex = Mathf.Clamp(currentIndex, 0, data.Count - 1); int itemsPerRow = 3;
int endIndex = Mathf.Clamp(currentIndex + visibleItemCount, 0, data.Count); int startIndex = Mathf.Clamp(currentIndex * itemsPerRow, 0, data.Count);
int endIndex = Mathf.Clamp((currentIndex + visibleItemCount) * itemsPerRow, 0, data.Count);
SetScrollItemUI(startIndex, endIndex); SetScrollItemUI(startIndex, endIndex);
} }
private void SetScrollItemUI(int startIndex, int endIndex) private void SetScrollItemUI(int startIndex, int endIndex)
{ {
int maxWidth = Mathf.RoundToInt(scrollRect.GetComponent<RectTransform>().sizeDelta.x); int itemsPerRow = 3;
float spacingX = 10f;
float spacingY = 10f;
RectTransform viewport = scrollRect.GetComponent<RectTransform>();
float contentWidth = viewport.sizeDelta.x;
float itemWidth = (contentWidth - spacingX * (itemsPerRow - 1)) / itemsPerRow;
int rowCount = Mathf.CeilToInt((float)data.Count / itemsPerRow);
float totalHeight = rowCount * (itemHeight + spacingY);
content.sizeDelta = new Vector2(contentWidth, totalHeight);
for (int i = startIndex; i < endIndex; i++) for (int i = startIndex; i < endIndex; i++)
{ {
AssetLibraryItem item = data[i]; AssetLibraryItem item = data[i];
AssetLibraryScrollItemUI itemUI = GetItemUI(); AssetLibraryScrollItemUI itemUI = GetItemUI();
int w = itemUI.SetItemData(item); itemUI.SetItemData(item);
itemUI.SetSelected(selectedItems); itemUI.SetSelected(selectedItems);
if (w > maxWidth) maxWidth = w;
itemUI.transform.SetParent(content, false); itemUI.transform.SetParent(content, false);
float yPos = -((float)i + 0.5f) * itemHeight; int row = i / itemsPerRow;
itemUI.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, yPos); int col = i % itemsPerRow;
float x = col * (itemWidth + spacingX) - ((itemsPerRow - 1) * (itemWidth + spacingX)) / 2f;
float y = -row * (itemHeight + spacingY) - itemHeight / 2f;
RectTransform rt = itemUI.GetComponent<RectTransform>();
rt.sizeDelta = new Vector2(itemWidth, itemHeight);
rt.anchoredPosition = new Vector2(x, y);
activeItems.Add(itemUI); activeItems.Add(itemUI);
} }
content.sizeDelta = new Vector2(maxWidth, data.Count * itemHeight); // Set content height.
} }
private AssetLibraryScrollItemUI GetItemUI() private AssetLibraryScrollItemUI GetItemUI()
{ {
@@ -243,7 +247,7 @@ namespace XED.AssetLibraryTree
itemUI.onClickMultiple.AddListener(OnSelectMultiple); itemUI.onClickMultiple.AddListener(OnSelectMultiple);
itemUI.onToggleExpand.RemoveAllListeners(); itemUI.onToggleExpand.RemoveAllListeners();
itemUI.onToggleExpand.AddListener(OnToggleExpand); itemUI.onToggleExpand.AddListener(OnToggleExpand);
itemUI.onHover.AddListener(OnHover); //itemUI.onHover.AddListener(OnHover);
return itemUI; return itemUI;
} }
public void OnSelect(List<AssetLibraryItem> items) public void OnSelect(List<AssetLibraryItem> items)
@@ -272,10 +276,10 @@ namespace XED.AssetLibraryTree
lastSelectedItem = item; lastSelectedItem = item;
onSelect?.Invoke(selectedItems); onSelect?.Invoke(selectedItems);
} }
public void OnHover(AssetLibraryItem item) //public void OnHover(AssetLibraryItem item)
{ //{
onHover?.Invoke(item); // onHover?.Invoke(item);
} //}
public void OnSelectAnother(AssetLibraryItem item) public void OnSelectAnother(AssetLibraryItem item)
{ {
if (selectedItems.Count == 1 && selectedItems[0] == item) if (selectedItems.Count == 1 && selectedItems[0] == item)

View File

@@ -7,13 +7,16 @@ using UnityEngine.EventSystems;
using UnityEngine.Events; using UnityEngine.Events;
using System; using System;
using XRLib; using XRLib;
using XED.Manage;
using XED.Util;
using static Unity.Cinemachine.CinemachineSplineRoll;
namespace XED.AssetLibraryTree namespace XED.AssetLibraryTree
{ {
public class AssetLibraryScrollItemUI : UnityEngine.MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler//, IBeginDragHandler, IEndDragHandler, public class AssetLibraryScrollItemUI : UnityEngine.MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler//, IBeginDragHandler, IEndDragHandler,
{ {
public TMP_Text nameText; public TMP_Text nameText;
public Image iconImage; public RawImage thumbnail;
public Image loadProgress; public Image loadProgress;
public Button expandButton; public Button expandButton;
public RectTransform paddingRT; public RectTransform paddingRT;
@@ -34,11 +37,12 @@ namespace XED.AssetLibraryTree
public Image lowerLine; public Image lowerLine;
public Color lineColor; public Color lineColor;
public GameObject highLight; public GameObject highLight;
public List<HierarchyItemSprite> itemSprites;
private Image backgroundImage; private Image backgroundImage;
public bool isSelected; public bool isSelected;
private FBXFileManager fbxFileManager;
private void Awake() private void Awake()
{ {
fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
backgroundImage = GetComponent<Image>(); backgroundImage = GetComponent<Image>();
} }
public int SetItemData(AssetLibraryItem item) public int SetItemData(AssetLibraryItem item)
@@ -49,11 +53,15 @@ namespace XED.AssetLibraryTree
item.onLoadProgress.RemoveAllListeners(); item.onLoadProgress.RemoveAllListeners();
item.onLoadProgress.AddListener(OnLoadProgress); item.onLoadProgress.AddListener(OnLoadProgress);
loadProgress.gameObject.SetActive(false); loadProgress.gameObject.SetActive(false);
HierarchyItemSprite itemSprite = itemSprites.Find((x) => x.type == item.type); CustomAssetData data = fbxFileManager.GetCustomAssetData(item.name);
if (itemSprite != null) iconImage.sprite = itemSprite.sprite;
thumbnail.gameObject.SetActive(data != null);
thumbnail.texture = data != null ? data.thumbnail : null;
//if (texture != null) thumbnail.texture = texture;
expandButton.image.sprite = currentItem.isExpanded == true ? spriteExpanded : spriteCollapsed; expandButton.image.sprite = currentItem.isExpanded == true ? spriteExpanded : spriteCollapsed;
float width = nameText.GetComponent<RectTransform>().sizeDelta.x + iconImage.GetComponent<RectTransform>().sizeDelta.x; float width = nameText.GetComponent<RectTransform>().sizeDelta.x + thumbnail.GetComponent<RectTransform>().sizeDelta.x;
float paddingSize = item.layerNum * expandButton.GetComponent<RectTransform>().sizeDelta.x; float paddingSize = item.layerNum * expandButton.GetComponent<RectTransform>().sizeDelta.x;
if (item.children.Count > 0) if (item.children.Count > 0)
{ {
@@ -206,10 +214,4 @@ namespace XED.AssetLibraryTree
loadProgress.fillAmount = ratio; loadProgress.fillAmount = ratio;
} }
} }
[Serializable]
public class HierarchyItemSprite
{
public AssetLibraryItemType type;
public Sprite sprite;
}
} }

View File

@@ -9,7 +9,7 @@ using XED.UI;
namespace XED.AssetLibraryTree namespace XED.AssetLibraryTree
{ {
public class AssetLibraryScrollRect : ScrollRect, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler public class AssetLibraryScrollRect : ScrollRect, IPointerDownHandler
{ {
public bool passDragToChildren = true; public bool passDragToChildren = true;
public UnityEvent<AssetLibraryItem, AssetLibraryItem> setToChildItem; public UnityEvent<AssetLibraryItem, AssetLibraryItem> setToChildItem;
@@ -212,9 +212,9 @@ namespace XED.AssetLibraryTree
yield return null; yield return null;
} }
public void OnPointerExit(PointerEventData eventData) //public void OnPointerExit(PointerEventData eventData)
{ //{
onExit?.Invoke(null); // onExit?.Invoke(null);
} //}
} }
} }