feat: the rebuild gamemode of "Gauntlet"

This commit is contained in:
2026-06-10 02:12:25 +08:00
parent 2d857a490b
commit 5653473c12
28 changed files with 1313 additions and 254 deletions
+24 -28
View File
@@ -39,34 +39,30 @@ func _fetch_state():
status_label.text = "Must be logged in to claim rewards."
return
var result = await NakamaManager.client.rpc_async(NakamaManager.session, "get_daily_reward_state", "{}")
if result.is_exception():
status_label.text = "Failed to load: " + result.get_exception().message
var result = await BackendService.get_daily_reward_state()
if result.get("success", false) == false:
status_label.text = "Failed to load: " + str(result.get("error", ""))
return
var json = JSON.new()
if json.parse(result.payload) == OK:
var data = json.get_data()
_month_rewards = data.get("month_rewards", [])
var state = data.get("state", {})
var data = result.get("data", {})
_month_rewards = data.get("month_rewards", [])
var state = data.get("state", {})
var claimed_list = state.get("claimed_days", [])
_claimed_days.clear()
for item in claimed_list:
_claimed_days.append(int(item))
var claimed_list = state.get("claimed_days", [])
_claimed_days.clear()
for item in claimed_list:
_claimed_days.append(int(item))
_can_claim = data.get("can_claim_today", false)
_today = data.get("today_date", "")
_today_index = data.get("today_index", 0)
_server_month = data.get("server_month", 1)
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
if _server_month >= 1 and _server_month <= 12:
month_label.text = months[_server_month - 1] + " Sign-in"
_update_ui()
else:
status_label.text = "Error parsing data."
_can_claim = data.get("can_claim_today", false)
_today = data.get("today_date", "")
_today_index = data.get("today_index", 0)
_server_month = data.get("server_month", 1)
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
if _server_month >= 1 and _server_month <= 12:
month_label.text = months[_server_month - 1] + " Sign-in"
_update_ui()
func _get_reward_display_data(type: String) -> Dictionary:
if type == "gold": return {"icon": "💰", "name": "Gold"}
@@ -145,9 +141,9 @@ func _on_claim_pressed():
claim_btn.text = "Claiming..."
status_label.text = ""
var result = await NakamaManager.client.rpc_async(NakamaManager.session, "claim_daily_reward", "{}")
if result.is_exception():
status_label.text = "Failed to claim: " + result.get_exception().message
var result = await BackendService.claim_daily_reward()
if result.get("success", false) == false:
status_label.text = "Failed to claim: " + str(result.get("error", ""))
claim_btn.disabled = false
claim_btn.text = "Sign In"
return