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; // Biến cờ để nhận biết lần đầu vào game private Tween _pulseTween; private Tween _rotationTween; private Texture2D _currentIcon; 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; } _logo.RegisterCallback(OnLogoClicked); // Bind Buttons root.Q