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

View File

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