using UnityEngine; using UnityEngine.UIElements; using PrimeTween; using System.Threading.Tasks; namespace Hallucinate.UI { public class MainMenuController : BaseUIController { public enum MenuState { Idle, Ribbon } private MenuState _currentState = MenuState.Idle; private VisualElement _logo; private VisualElement _ribbon; private VisualElement _logoSpace; private float _lastInteractionTime; private const float IDLE_TIMEOUT = 5.0f; private bool _isFirstLoad = true; private Tween _pulseTween; private Tween _rotationTween; private Texture2D _currentIcon; private bool _isBusy = false; public override void Initialize(VisualElement uxmlRoot, UIManager manager) { base.Initialize(uxmlRoot, manager); _logo = root.Q("Logo"); _ribbon = root.Q("Ribbon"); _logoSpace = root.Q("LogoSpace"); if (_logo == null) { Debug.LogError($"[MainMenuController] Element 'Logo' not found in UXML!"); return; } // Lắng nghe sự kiện thay đổi kích thước toàn màn hình root.RegisterCallback(OnScreenResize); _logo.RegisterCallback(OnLogoClicked); var settingsBtn = root.Q