iter52-卡4:迭代52卡④(封印印记法阵化): 着色器参数化绘制换代(环带+十字+环外光圈,半径夹cell_px/2,ui_kit六常量含SEAL_HALO_FRAC补注入源)+seal_mark_layer子件+CellUnit seal_on/fog联动+棋盘侧贴图路径三处退役(seal_mark.png只余战末蜡封)+board_shot_probe封印取证(三关环径0.826全落±1px,英雄格中心非黑); 含产出物三份/审计报告/master归并两笔/收尾笔; 验收档中; 验收审计总判定通过
This commit is contained in:
1 parent
67024cb9ec
commit
122cdeb3d8
28 files changed
+581
-133
No files matched your search
@@ -118,6 +118,29 @@ static func isolate_save(main, tag: String, mark_first_done: bool = false, with_
|
||||
main.settings_store = SettingsStoreScript.new("user://%s_settings.cfg" % tag)
|
||||
return iso
|
||||
|
||||
# ---- 真输入点击承载(test-conventions §8.3「真实入口」判定口径)----
|
||||
# 合成鼠标事件经 Viewport.push_input 进引擎输入管线(hitbox/命中测试参与),press+release 成对
|
||||
#(BaseButton pressed 信号走 release 沿——ui_input_probe :717-733 / screen_flow_probe :484-499 同式)。
|
||||
# 信号直发(pressed.emit())只许标「接线验证」,不得充当真实入口断言的驱动。
|
||||
static func push_click(main, ctrl: Control) -> void:
|
||||
push_click_at(main, ctrl.get_global_rect().get_center())
|
||||
|
||||
|
||||
static func push_click_at(main, pos: Vector2) -> void:
|
||||
var down := InputEventMouseButton.new()
|
||||
down.position = pos
|
||||
down.global_position = pos
|
||||
down.button_index = MOUSE_BUTTON_LEFT
|
||||
down.pressed = true
|
||||
main.get_viewport().push_input(down, true)
|
||||
var up := InputEventMouseButton.new()
|
||||
up.position = pos
|
||||
up.global_position = pos
|
||||
up.button_index = MOUSE_BUTTON_LEFT
|
||||
up.pressed = false
|
||||
main.get_viewport().push_input(up, true)
|
||||
|
||||
|
||||
# 营地经进档开层(卡② mn9 新路径——campbtn 已撤;槽模板注入隔离命名空间,防碰真实槽
|
||||
# user://save_slot_N.json——真实档红线)。创建=激活=暂行开营地(卡③ Q3 乙落点);
|
||||
# 驱动后写盘目标=隔离槽文件(持久化断言读 user://<tag>_slot_1.json)。返回 false=新档钮缺失(驱动中断)。
|
||||
@@ -130,8 +153,9 @@ static func open_camp_via_savesel(main, tag: String) -> bool:
|
||||
if FileAccess.file_exists(sp):
|
||||
DirAccess.remove_absolute(sp)
|
||||
main.open_save_select()
|
||||
await main.get_tree().process_frame # 排版帧——真点击命中的是控件 rect,开层同帧容器未排(emit 无此依赖)
|
||||
var new_btn: Button = main.ui.modals.menu.save_select_overlay._new_btns.get(1)
|
||||
if new_btn == null:
|
||||
return false
|
||||
new_btn.pressed.emit() # 真实按钮信号路径 → _on_save_select_new → create_slot+open_camp
|
||||
push_click(main, new_btn) # 真输入 → _on_save_select_new → create_slot+open_camp
|
||||
return true
|
||||
Reference in new issue
Block a user