protected void EnablePanel(PanelManager panel) { EventSystem.current.SetSelectedGameObject(null); string oldKey = _activeKey; _activeKey = panel != null ? panel.Key : null; PanelManager active = panel; active?.SetPanelActive(true); if (active != null) { _activeDefaultInput = active.DefaultInput; if (_activeDefaultInput != null) { EventSystem.current.SetSelectedGameObject(_activeDefaultInput); } } else { _activeDefaultInput = null; } _activeManager = active; if (oldKey != _activeKey) { foreach (System.Action <string, string> action in MenuConfig.PanelChangeCallbacks) { action.Invoke(oldKey, _activeKey); } } }
protected virtual void SetOnTop(bool isOnTop) { _activeManager?.SetPanelActive(isOnTop); Canvas.enabled = isOnTop; }