Transfer detail panel to resource browser.

This commit is contained in:
2023-11-22 00:30:56 +08:00
parent 92fb34cfa8
commit 2d7a204a30
3 changed files with 34 additions and 44 deletions

View File

@@ -7,8 +7,14 @@ using UnityEngine;
namespace Cryville.Crtr.Browsing.UI {
public class PathedResourceBrowser : ResourceBrowser {
[SerializeField]
ScrollableItemGrid m_itemContainer;
[SerializeField]
DetailPanel m_detailPanel;
[SerializeField]
GameObject m_actionBar;
public IPathedResourceManager<ChartDetail> ResourceManager;
public ScrollableItemGrid ItemContainer;
readonly HashSet<int> _selectedItems = new HashSet<int>();
readonly Dictionary<int, BrowserItem> _items = new Dictionary<int, BrowserItem>();
@@ -17,7 +23,7 @@ namespace Cryville.Crtr.Browsing.UI {
FileDialog _dialog;
protected virtual void Start() {
ItemContainer.LoadItem = LoadItem;
m_itemContainer.LoadItem = LoadItem;
ResourceManager.ItemChanged += OnItemChanged;
ResourceManager.ChangeDirectory(new string[] { "" });
InitDialog();
@@ -47,7 +53,7 @@ namespace Cryville.Crtr.Browsing.UI {
_itemChanged = false;
_selectedItems.Clear();
_items.Clear();
ItemContainer.ItemCount = ResourceManager.Count;
m_itemContainer.ItemCount = ResourceManager.Count;
}
}
@@ -73,7 +79,8 @@ namespace Cryville.Crtr.Browsing.UI {
_selectedItems.Clear();
_items[id].OnSelect();
_selectedItems.Add(id);
Master.ShowDetail(id, ResourceManager[id]);
m_detailPanel.Load(id, ResourceManager[id]);
m_actionBar.SetActive(true);
}
public void OnPathClicked(int index) {