using System.Collections.Generic;
using Cthangover.Core.Scenes;
using Godot;
using Cthangover.Core.UI.Menu;
namespace Cthangover.Mods.Interface.Menu
{
///
/// In-game pause menu: save/load/settings/quit. The settings and save/load
/// panels are not referenced by type: they are registered in the
/// (by the menu_base mod or any other mod
/// that wants to provide them) and instantiated here by id, so the panel
/// implementations can live entirely inside mods. Both panels stay hidden
/// children created on _Ready to avoid loading delays when the player opens
/// the menu. RefreshSaveButton dynamically disables save if the current
/// scene doesn't allow saves (checked via
/// SceneManager.IsSaveAllowedForCurrentScene). Button text is translated
/// with a refresh-on-language-change subscription.
///
public partial class GameMenu : Control
{
private ISettingsPanel _settingsPanel;
private ISaveLoadPanel _saveLoadPanel;
private Button _saveBtn;
private Label _title;
private readonly Dictionary