using UnityEngine; using UnityEngine.UIElements; using System.Collections; using System.Collections.Generic; namespace UI { public class MainMenuController : MonoBehaviour { private VisualElement _root; private VisualElement _logoContainer; private VisualElement _logo; private VisualElement _ribbon; private VisualElement _logoPlaceholder; private bool _isActive = false; [Header("Animation Settings")] public float transitionDuration = 0.5f; public float idleTimeout = 5f; public float pulseSpeed = 2f; public float pulseAmount = 0.05f; private float _lastInteractionTime; private int _lastClickFrame = -1; private Coroutine _currentTransition; private void OnEnable() { _root = GetComponent().rootVisualElement; _logoContainer = _root.Q("beat-logo-container"); _logo = _root.Q("beat-logo"); _ribbon = _root.Q("menu-ribbon"); _logoPlaceholder = _root.Q("logo-placeholder"); // Đảm bảo Logo luôn có thể nhấn được _logoContainer.pickingMode = PickingMode.Position; _logo.pickingMode = PickingMode.Position; _logoContainer.RegisterCallback(OnLogoClicked); _root.RegisterCallback(evt => ResetIdleTimer()); var buttons = _root.Query