46 lines
2.1 KiB
GDScript
46 lines
2.1 KiB
GDScript
class_name CurioFlowContext
|
|
extends RefCounted
|
|
# 三选一/替换子交互的构造上下文(控制器构造参数收拢为 context 对象,
|
|
# 原 16 参长签名收一处命名面——单测可直接 new() 本 context + 控制器获得独立实例化缝)。
|
|
# 字段即原构造参数逐一同名迁移;依赖仅视图句柄 + 查询/编排 Callable(组合根注入)。
|
|
|
|
var db
|
|
var meta_get: Callable # () -> MetaProgressionCore(现值回调——组合根 lambda)
|
|
var curio_overlay: CurioPickOverlay
|
|
var end_overlay: BattleEndOverlay
|
|
var board_view: BoardView
|
|
var toast: ToastStack
|
|
var save_get: Callable # () -> SaveManagerCore
|
|
var adventure_get: Callable # () -> AdventureRunner(会话现值)
|
|
var runner_get: Callable # () -> LevelRunner
|
|
var adventure_mode_get: Callable # () -> bool
|
|
var open_modal: Callable # (Control) -> void
|
|
var open_modal_after_playback: Callable
|
|
var close_modal: Callable
|
|
var refresh_presentations: Callable
|
|
var fatal_screen: Callable
|
|
var gp_summary: Callable # (Dictionary) -> String
|
|
|
|
|
|
func _init(db_ref, meta_get_cb: Callable, curio_overlay_ref: CurioPickOverlay, end_overlay_ref: BattleEndOverlay,
|
|
board_view_ref: BoardView, toast_ref: ToastStack, save_get_cb: Callable,
|
|
adventure_get_cb: Callable, runner_get_cb: Callable, adventure_mode_get_cb: Callable,
|
|
open_modal_cb: Callable, open_modal_after_playback_cb: Callable, close_modal_cb: Callable,
|
|
refresh_presentations_cb: Callable, fatal_screen_cb: Callable, gp_summary_cb: Callable) -> void:
|
|
db = db_ref
|
|
meta_get = meta_get_cb
|
|
curio_overlay = curio_overlay_ref
|
|
end_overlay = end_overlay_ref
|
|
board_view = board_view_ref
|
|
toast = toast_ref
|
|
save_get = save_get_cb
|
|
adventure_get = adventure_get_cb
|
|
runner_get = runner_get_cb
|
|
adventure_mode_get = adventure_mode_get_cb
|
|
open_modal = open_modal_cb
|
|
open_modal_after_playback = open_modal_after_playback_cb
|
|
close_modal = close_modal_cb
|
|
refresh_presentations = refresh_presentations_cb
|
|
fatal_screen = fatal_screen_cb
|
|
gp_summary = gp_summary_cb
|