Build runtime menu tabs directly

This commit is contained in:
Meta Vens 2026-06-29 05:27:10 +01:00
commit e3716fac6d
3 changed files with 32 additions and 20 deletions

View file

@ -117,7 +117,14 @@ public class MenuPanel : MonoBehaviour
transform,
_tabSurfaceDocument,
"Aetheria Runtime Menu Tabs Surface",
AetheriaRuntimeMenuTabsSurfaceBuilder.Build(ComposeTabSurface()),
AetheriaRuntimeMenuTabsSurfaceBuilder.Build(
ToRuntimeTabKey(CurrentTab),
ResolveVisibleTabs()
.Select(tabBinding => new AetheriaRuntimeMenuTabModelOption(
ToRuntimeTabKey(tabBinding.Tab),
GetTabLabel(tabBinding),
(int)tabBinding.Tab)),
DateTime.UtcNow.ToString("O")),
HandleTabSurfaceCommand,
_tabSurfaceChrome);
}
@ -151,20 +158,6 @@ public class MenuPanel : MonoBehaviour
AetheriaEveUnitySurfaceHost.Hide(_tabSurfaceDocument);
}
private AetheriaRuntimeMenuTabsSurfaceState ComposeTabSurface()
{
var visibleTabs = ResolveVisibleTabs();
return AetheriaRuntimeMenuTabsSurfaceBuilder.Compose(
ToRuntimeTabKey(CurrentTab),
visibleTabs
.Select(tabBinding => new AetheriaRuntimeMenuTabModelOption(
ToRuntimeTabKey(tabBinding.Tab),
GetTabLabel(tabBinding),
(int)tabBinding.Tab))
.ToArray(),
DateTime.UtcNow.ToString("O"));
}
private MenuTabBinding[] ResolveVisibleTabs()
{
var isDocked = TryResolveCurrentDocking(out var docking) && docking.IsDocked;