Route local menu visibility through observed dock state

This commit is contained in:
Meta Vens 2026-06-21 19:10:53 +01:00
commit 80c8ddd87c
4 changed files with 58 additions and 6 deletions

View file

@ -22,12 +22,13 @@ public class LocalMenu : MonoBehaviour
private void OnEnable()
{
if (ActionGameManager.Instance.DockedEntity is OrbitalEntity orbital)
if (ActionGameManager.Instance == null ||
!ActionGameManager.Instance.TryGetObservedDockedLocalStory(out _currentLocation))
{
_currentLocation = orbital.Story;
_activeStory = _currentLocation.Story;
return;
}
else return;
_activeStory = _currentLocation.Story;
Continue();
}

View file

@ -159,8 +159,8 @@ public class MenuPanel : MonoBehaviour
private MenuTabBinding[] ResolveVisibleTabs()
{
return _tabs.Values
.Where(tabBinding => !tabBinding.RequireDock || GameManager.DockedEntity != null)
.Where(tabBinding => tabBinding.Tab != MenuTab.Local || (GameManager.DockedEntity as OrbitalEntity)?.Story != null)
.Where(tabBinding => !tabBinding.RequireDock || GameManager.IsObservedDocked)
.Where(tabBinding => tabBinding.Tab != MenuTab.Local || GameManager.TryGetObservedDockedLocalStory(out _))
.OrderBy(tabBinding => (int)tabBinding.Tab)
.ToArray();
}