feat: add dailylogin feature

This commit is contained in:
2026-05-01 05:07:54 +08:00
parent 54be7bbb25
commit 21875cdf8a
17 changed files with 1262 additions and 34 deletions
+23
View File
@@ -30,6 +30,7 @@ extends Control
@onready var shop_btn = %CartBtn
@onready var top_right_profile_btn = %ProfileBtn
@onready var banner1_btn = %Banner1
@onready var ticket_btn = $MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/TicketBtn
# UI References - Room List
@onready var room_list_panel = $RoomListPanel
@@ -118,6 +119,7 @@ var current_match_id: String = ""
var leaderboard_panel_instance: Control
var shop_panel_instance: Control
var daily_reward_panel_instance: Control
# Bot name tracking keyed by slot index to avoid re-generating on each update
var _bot_names: Dictionary = {}
@@ -180,6 +182,8 @@ func _ready():
if leaderboard_btn:
leaderboard_btn.pressed.connect(_on_leaderboard_pressed)
if ticket_btn:
ticket_btn.pressed.connect(_on_ticket_pressed)
if quit_btn:
quit_btn.pressed.connect(_on_quit_pressed)
@@ -862,6 +866,25 @@ func _on_leaderboard_pressed() -> void:
main_menu_panel.hide()
leaderboard_panel_instance.show_panel()
func _on_ticket_pressed() -> void:
if not NakamaManager.session:
connection_status.text = "Must be logged in"
return
if not daily_reward_panel_instance:
var scene = load("res://scenes/ui/daily_reward_panel.tscn")
if scene:
daily_reward_panel_instance = scene.instantiate()
daily_reward_panel_instance.closed.connect(func():
if main_menu_panel: main_menu_panel.show()
)
add_child(daily_reward_panel_instance)
if daily_reward_panel_instance:
if main_menu_panel:
main_menu_panel.hide()
daily_reward_panel_instance.show_panel()
func _go_to_login() -> void:
if get_tree():
get_tree().change_scene_to_file("res://scenes/ui/login_screen.tscn")