fix: correct JSON payload key for gacha pull RPC and update gacha panel UI labels

This commit is contained in:
2026-07-06 14:37:22 +08:00
parent af6870f6a9
commit acd927eef6
4 changed files with 15 additions and 5 deletions
+4 -2
View File
@@ -293,7 +293,8 @@ size_flags_horizontal = 0
size_flags_vertical = 4
texture = ExtResource("tex_gold")
[node name="GoldLabel" type="Label" parent="MainMargin/MainVBox/ContentHBox/LeftPanel/LeftMargin/LeftVBox/BalanceRow/GoldPanel/MarginContainer/HBoxContainer" unique_id=1159494172]
[node name="LeftGoldLabel" type="Label" parent="MainMargin/MainVBox/ContentHBox/LeftPanel/LeftMargin/LeftVBox/BalanceRow/GoldPanel/MarginContainer/HBoxContainer" unique_id=1159494172]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("3_font")
@@ -327,7 +328,8 @@ size_flags_horizontal = 0
size_flags_vertical = 4
texture = ExtResource("tex_star")
[node name="StarLabel" type="Label" parent="MainMargin/MainVBox/ContentHBox/LeftPanel/LeftMargin/LeftVBox/BalanceRow/StarPanel/MarginContainer/HBoxContainer" unique_id=1357103504]
[node name="LeftStarLabel" type="Label" parent="MainMargin/MainVBox/ContentHBox/LeftPanel/LeftMargin/LeftVBox/BalanceRow/StarPanel/MarginContainer/HBoxContainer" unique_id=1357103504]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("3_font")
+2 -1
View File
@@ -40,7 +40,8 @@ func pull(banner_id: String, count: int) -> Array:
var result = await BackendService.perform_gacha_pull(banner_id, count)
if result.get("success", false) == false:
var msg = str(result.get("error", "Unknown error"))
var err_val = result.get("error", "Unknown error")
var msg = result.get("message", str(err_val))
push_error("[GachaManager] Gacha pull failed: " + msg)
return []
+2 -2
View File
@@ -181,8 +181,8 @@ func respond_friend_request(target_id: String, accept: bool) -> Dictionary:
var payload = JSON.stringify({"target_user_id": target_id, "accept": accept})
return await api_rpc_async("respond_friend_request", payload)
func perform_gacha_pull(gacha_id: String, count: int) -> Dictionary:
var payload = JSON.stringify({"gacha_id": gacha_id, "count": count})
func perform_gacha_pull(banner_id: String, count: int) -> Dictionary:
var payload = JSON.stringify({"banner_id": banner_id, "count": count})
return await api_rpc_async("perform_gacha_pull", payload)
func get_mail(payload: String = "{}") -> Dictionary:
+7
View File
@@ -12,6 +12,8 @@ signal closed
@onready var banner_label := %BannerLabel as Label
@onready var gold_label := %GoldLabel as Label
@onready var star_label := %StarLabel as Label
@onready var left_gold_label := %LeftGoldLabel as Label
@onready var left_star_label := %LeftStarLabel as Label
@onready var pity_label := %PityLabel as Label
@onready var pull_1_btn := %Pull1Btn as Button
@onready var pull_10_btn := %Pull10Btn as Button
@@ -142,6 +144,11 @@ func _refresh_ui() -> void:
star_label.text = str(UserProfileManager.wallet.get("star", 0))
gold_label.text = str(UserProfileManager.wallet.get("gold", 0))
if left_star_label:
left_star_label.text = str(UserProfileManager.wallet.get("star", 0))
if left_gold_label:
left_gold_label.text = str(UserProfileManager.wallet.get("gold", 0))
pity_label.text = "Pity: %d / %d" % [pity, pity_at]
cost_1_label.text = "%s %d" % [icon, c1]
cost_10_label.text = "%s %d" % [icon, c10]