chore: release version 2.3.5 and refactor lobby

Bump export_presets.cfg version to 2.3.5. Update CHANGELOG_DRAFT.md.
Refactor lobby.gd into LobbyChat, LobbyMainMenu, LobbyRoomList, LobbyRoom.
Move Nakama config to environment variables in nakama_manager.gd.
Derive auth_manager.gd encryption key from OS.get_unique_id().sha256_text().
Remove Steam email auth fallback. Require auth ticket.
Make GachaManager.pull() async in gacha_panel.gd.
Remove dummy wallet seeding. Add store_type to IAP payload.
Validate IAP receipts server-side in economy.lua.
Register gacha module in main.lua.
Clean backend_service.gd stubs.
Fix featured_banners type safety in gacha_manager.gd. Guards non-array responses.
Move tiles_armagedon_a1.res to assets/models/meshes/. Fix import fallback_path.
This commit is contained in:
2026-05-22 12:08:11 +08:00
parent 8430d1054e
commit decdb74ade
356 changed files with 27438 additions and 1630 deletions
+2 -9
View File
@@ -71,20 +71,13 @@ func _ready() -> void:
close_result_btn.pressed.connect(func(): result_panel.hide())
craft_btn.pressed.connect(_on_open_craft)
result_panel.hide()
_ensure_dummy_wallet()
_switch_banner("star")
func show_panel() -> void:
show()
_refresh_ui()
# ─── Dummy wallet so editor testing works without Nakama ─────────────────────
func _ensure_dummy_wallet() -> void:
var w: Dictionary = UserProfileManager.wallet
if w.get("star", 0) == 0:
UserProfileManager.wallet["star"] = 3200
if w.get("gold", 0) == 0:
UserProfileManager.wallet["gold"] = 1500
# ─── Banner switching ─────────────────────────────────────────────────────────
func _switch_banner(id: String) -> void:
@@ -179,7 +172,7 @@ func _do_pull(count: int) -> void:
status_label.text = "Rolling..."
await get_tree().process_frame
var results: Array = GachaManager.pull(_current_banner, count)
var results: Array = await GachaManager.pull(_current_banner, count)
if results.is_empty():
status_label.text = "❌ Not enough currency!"