Move pathed resource browser into prefab.

This commit is contained in:
2023-11-29 22:15:38 +08:00
parent b39428aa39
commit aebce25f3b
5 changed files with 4876 additions and 4549 deletions

View File

@@ -42,14 +42,15 @@ namespace Cryville.Crtr.Browsing.UI {
} }
void OnEnable() { void OnEnable() {
_manager.Activate(); if (_manager != null) _manager.Activate();
} }
void OnDisable() { void OnDisable() {
_manager.Deactivate(); if (_manager != null) _manager.Deactivate();
} }
public void Init(ResourceBrowserMaster master, IPathedResourceManager<IResourceMeta> manager) { public void Init(ResourceBrowserMaster master, IPathedResourceManager<IResourceMeta> manager) {
if (_manager != null) { if (_manager != null) {
OnDisable();
UnregisterManager(); UnregisterManager();
} }
Init(master); Init(master);
@@ -60,6 +61,7 @@ namespace Cryville.Crtr.Browsing.UI {
_importActionArray[0] = _importAction; _importActionArray[0] = _importAction;
foreach (var tool in m_writeTools) tool.interactable = !_manager.IsReadOnly; foreach (var tool in m_writeTools) tool.interactable = !_manager.IsReadOnly;
OnEnable();
OnItemChanged(); OnItemChanged();
OnDirectoryChanged(); OnDirectoryChanged();
} }

View File

@@ -13,7 +13,9 @@ namespace Cryville.Crtr.Browsing.UI {
[SerializeField] [SerializeField]
GameObject m_tabPrefab; GameObject m_tabPrefab;
[SerializeField] [SerializeField]
PathedResourceBrowser m_mainBrowser; Transform m_browserContainer;
[SerializeField]
GameObject m_pathedBrowserPrefab;
[SerializeField] [SerializeField]
SettingsBrowser m_settingsBrowser; SettingsBrowser m_settingsBrowser;
@@ -26,17 +28,23 @@ namespace Cryville.Crtr.Browsing.UI {
Actions = new ActionManager(); Actions = new ActionManager();
Actions.Register(new PlayChartAction()); Actions.Register(new PlayChartAction());
OnTabClicked(AddTab("Local", m_mainBrowser)); OnTabClicked(AddPathedBrowserTab("Local", new LegacyResourceManager(Settings.Default.GameDataPath)));
m_mainBrowser.Init(this, new LegacyResourceManager(Settings.Default.GameDataPath)); AddPathedBrowserTab("Files", new FileSystemResourceManager());
AddTab("Settings", m_settingsBrowser); AddTab("Settings", m_settingsBrowser);
} }
BrowserTab AddPathedBrowserTab(string name, IPathedResourceManager<IResourceMeta> manager) {
var browser = Instantiate(m_pathedBrowserPrefab, m_browserContainer, false).GetComponent<PathedResourceBrowser>();
browser.Init(this, manager);
return AddTab(name, browser);
}
BrowserTab AddTab(string name, ResourceBrowser browser) { BrowserTab AddTab(string name, ResourceBrowser browser) {
var tab = Instantiate(m_tabPrefab, m_tabContainer, false).GetComponent<BrowserTab>(); var tab = Instantiate(m_tabPrefab, m_tabContainer, false).GetComponent<BrowserTab>();
tab.Icon = browser.Icon; tab.Icon = browser.Icon;
tab.Text = name; tab.Text = name;
tab.Clicked += OnTabClicked; tab.Clicked += OnTabClicked;
browser.gameObject.SetActive(false);
_tabs.Add(tab, browser); _tabs.Add(tab, browser);
return tab; return tab;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 65cfee4494776794ba1894a72bbbbcfb
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff