feat: continue Windglass Market through three rounds

This commit is contained in:
2026-08-15 01:32:21 +08:00
parent af3ec4ec76
commit a77400a8d2
8 changed files with 519 additions and 5 deletions
+13
View File
@@ -1,6 +1,8 @@
class_name P93CoreLoopController
extends Control
signal windglass_market_requested(snapshot: Dictionary)
const Service = preload("res://p9_3/core_loop_service.gd")
const State = preload("res://p9_3/core_loop_state.gd")
const Rules = preload("res://domain/p9_2/battle_rules.gd")
@@ -170,6 +172,13 @@ func recover_injured_company() -> void:
_queue_render_current()
func enter_windglass_market() -> void:
if service.state.phase != State.Phase.HALL or service.state.recovery_required or service.state.reward_receipts.size() < 4:
return
_save_stable()
windglass_market_requested.emit(service.state.snapshot())
func tap_encounter(encounter_id: String) -> void:
if service.state.phase != State.Phase.ENCOUNTER:
return
@@ -659,6 +668,10 @@ func _render_rift_tide_return_hall() -> void:
display_root.add_child(condition)
_add_member_status(member_id, actor_position + Vector2(-12, actor_height - 30), Vector2(actor_height + 24, 42), "P96FinalStatus_%s" % member_id, true)
_add_equipped_icon(member_id, actor_position + Vector2(actor_height - 18, actor_height * 0.38))
var continue_button := _action_button("P97EnterMarketButton", _tr("前往风晶集市", "ENTER WINDGLASS MARKET"), enter_windglass_market)
continue_button.position = Vector2(size.x - 232, 156)
continue_button.size = Vector2(216, 52)
display_root.add_child(continue_button)
func _render_encounters() -> void: