Implement closable tab.

This commit is contained in:
2023-11-30 15:10:44 +08:00
parent 048a9f54fb
commit d8048b1d89
3 changed files with 313 additions and 6 deletions

View File

@@ -47,6 +47,7 @@ namespace Cryville.Crtr.Browsing.UI {
tab.Icon = browser.Icon;
tab.Text = name;
tab.Clicked += OnTabClicked;
tab.Closed += OnTabClosed;
browser.gameObject.SetActive(false);
_tabs.Add(tab, browser);
return tab;
@@ -64,6 +65,12 @@ namespace Cryville.Crtr.Browsing.UI {
_tabs[_currentTab].gameObject.SetActive(true);
}
}
void OnTabClosed(BrowserTab tab) {
Destroy(tab.gameObject);
Destroy(_tabs[tab].gameObject);
_tabs.Remove(tab);
if (_currentTab == tab) _currentTab = null;
}
void OnActionsChanged() {
foreach (var tab in _tabs) {