This commit is contained in:
2026-05-01 21:58:20 +07:00
parent 07fb48353c
commit 709ed4069d
26 changed files with 599 additions and 1008 deletions

View File

@@ -22,6 +22,8 @@ namespace Hallucinate.UI
private Tween _rotationTween;
private Texture2D _currentIcon;
private bool _isBusy = false;
public override void Initialize(VisualElement uxmlRoot, UIManager manager)
{
base.Initialize(uxmlRoot, manager);
@@ -42,11 +44,11 @@ namespace Hallucinate.UI
_logo.RegisterCallback<ClickEvent>(OnLogoClicked);
var settingsBtn = root.Q<Button>("SettingsBtn");
if (settingsBtn != null) settingsBtn.clicked += () => uiManager.ToggleSettings();
if (settingsBtn != null) settingsBtn.clicked += () => { if (_isBusy) return; uiManager.ToggleSettings(); };
root.Q<Button>("JoinBtn").clicked += async () => await uiManager.Push<LobbyController>();
root.Q<Button>("CreateBtn").clicked += async () => await uiManager.Push<LobbyController>();
root.Q<Button>("ProfileBtn").clicked += async () => await uiManager.Push<ProfileController>();
root.Q<Button>("JoinBtn").clicked += async () => { if (_isBusy) return; _isBusy = true; await uiManager.Push<LobbyController>(); };
root.Q<Button>("CreateBtn").clicked += async () => { if (_isBusy) return; _isBusy = true; await uiManager.Push<LobbyController>(); };
root.Q<Button>("ProfileBtn").clicked += async () => { if (_isBusy) return; _isBusy = true; await uiManager.Push<ProfileController>(); };
root.Q<Button>("ExitBtn").clicked += () => Application.Quit();
// Đăng ký Localization
@@ -142,6 +144,7 @@ namespace Hallucinate.UI
public override async Task PlayTransitionIn()
{
_isBusy = false;
_lastInteractionTime = Time.time;
_currentState = MenuState.Idle;
ResetLogoPosition();
@@ -167,9 +170,14 @@ namespace Hallucinate.UI
private async void OnLogoClicked(ClickEvent evt)
{
if (_isBusy) return;
_lastInteractionTime = Time.time;
if (_currentState == MenuState.Idle) TransitionToRibbon();
else await uiManager.Push<LobbyController>();
else
{
_isBusy = true;
await uiManager.Push<LobbyController>();
}
}
private void TransitionToRibbon()