private void OnWindowToggleOff(TaskbarButton obj)
    {
        if (obj == friendsButton)
        {
            OnFriendsToggleOff?.Invoke();
        }
        else if (obj == chatButton)
        {
            OnChatToggleOff?.Invoke();
        }
        else if (obj == settingsButton)
        {
            OnSettingsToggleOff?.Invoke();
        }
        else if (obj == builderInWorldButton)
        {
            OnBuilderInWorldToggleOff?.Invoke();
        }
        else if (obj == exploreButton)
        {
            OnExploreToggleOff?.Invoke();
        }
        else if (obj == moreButton)
        {
            moreMenu.ShowMoreMenu(false);
        }
        else if (obj == questPanelButton)
        {
            OnQuestPanelToggled?.Invoke(false);
        }
        else
        {
            using (var iterator = activePortableExperienceItems.GetEnumerator())
            {
                while (iterator.MoveNext())
                {
                    if (iterator.Current.Value.mainButton == obj)
                    {
                        iterator.Current.Value.ShowContextMenu(false);
                        break;
                    }
                }
            }
        }

        if (AllButtonsToggledOff())
        {
            chatButton.SetToggleState(false, useCallback: false);
            controller.worldChatWindowHud.SetVisibility(true);
        }
    }
    private void OnWindowToggleOn(TaskbarButton obj)
    {
        if (obj == friendsButton)
        {
            OnFriendsToggleOn?.Invoke();
        }
        else if (obj == chatButton)
        {
            OnChatToggleOn?.Invoke();
        }
        else if (obj == settingsButton)
        {
            OnSettingsToggleOn?.Invoke();
        }
        else if (obj == builderInWorldButton)
        {
            OnBuilderInWorldToggleOn?.Invoke();
        }
        else if (obj == exploreButton)
        {
            OnExploreToggleOn?.Invoke();
        }
        else if (obj == moreButton)
        {
            moreMenu.ShowMoreMenu(true);
        }
        else if (obj == questPanelButton)
        {
            OnQuestPanelToggled?.Invoke(true);
        }
        else
        {
            using (var iterator = activePortableExperienceItems.GetEnumerator())
            {
                while (iterator.MoveNext())
                {
                    if (iterator.Current.Value.mainButton == obj)
                    {
                        iterator.Current.Value.ShowContextMenu(true);
                        break;
                    }
                }
            }
        }

        SelectButton(obj);
    }