using System; using UnityEditor.UIElements; using UnityEngine.UIElements; namespace io.github.hatayama.uLoopMCP { public class CliSetupSection { private readonly VisualElement _cliStatusIcon; private readonly VisualElement _globalCliStatusRow; private readonly Label _cliStatusLabel; private readonly Button _refreshCliVersionButton; private readonly Button _installCliButton; private readonly VisualElement _globalCliSeparator; private readonly EnumField _skillsTargetField; private readonly Button _refreshSkillsStateButton; private readonly VisualElement _groupSkillsRow; private readonly Toggle _groupSkillsToggle; private readonly Label _groupSkillsLabel; private readonly VisualElement _projectCliVersionRow; private readonly Toggle _projectCliVersionToggle; private readonly Button _installSkillsButton; private readonly VisualElement _skillsSubsection; private CliSetupData _lastData; private bool _isTargetFieldInitialized; public event Action OnRefreshCliVersion; public event Action OnInstallCli; public event Action OnInstallSkills; public event Action OnRefreshSkillsState; public event Action OnSkillsTargetChanged; public event Action OnGroupSkillsChanged; public event Action OnUseProjectCliVersionChanged; public CliSetupSection(VisualElement root) { _cliStatusIcon = root.Q("cli-status-icon"); _globalCliStatusRow = root.Q("global-cli-status-row"); _cliStatusLabel = root.Q