feat(t4): 魔法道具 HUD 面——C 区四槽接线+两步使用交互+叠加层呈现+清空反馈

①hero_info_panel:四槽 gui_input 可点+aux_slot_clicked 信号+set_aux_inventory 投影渲染(空槽虚位/used 暗态/不可用置灰/选中金框/tooltip 全名+语义)
②main:选中态 _aux_use_selection+槽点击(AP 类 target=none 即用/空间类 toggle 选中)+_on_board_action dig 劫持(选中期点格=目标拾取不落挖格;move/flag 不冲突)+_attempt_aux_use(拒绝零消耗 toast 可辨认)+_aux_inventory_projection(字形=名首字;usable 回调接排雷玩法只读面)+use 成功后槽位/叠加层双刷+_on_board_action 行尾槽位重查(授予同步走完)
③叠加层呈现:CellUnit.aux_mark(真视=危险红内缩框)+board_view.set_aux_overlays 投影注入(refresh 消费;预读格=badge_glyph 注入 REWARD_BADGE 字形走 identity_resolver 既有只读面零数据复制;旗格让位不注)
④清空反馈:LevelRunner aux_cleared 快照(payload 已有 T3)→AdventureRunner additive 扩签(big_reward_paid.aux_cleared/summary.aux_cleared_last,_last_aux_cleared 捕获)→main 大奖励屏 toast「上关剩余 N 件魔法道具已随关卡结束清空」
闸:冒烟 577/0+三探针 PASS;T() 拼接病累计八处全自愈(board_view 混行尾归一 LF/adventure_runner _first_script 重复声明去重/两 var 拼接)
This commit is contained in:
DKChan committed 2026-09-29 07:21:58 +08:00
1 parent 63a08d1e01
commit 2f3a87e98f
5 files changed
+184 -3

No files matched your search

+14 -1
View File
@@ -82,7 +82,15 @@ var tex_flag: Texture2D = null # ④ 旗
# 变异角标(迭代 6 T6——程序化,tex_mutation 纹带槽留给变异纹带六型自产批):
# "flat_damage" = 未开格伤害型变异,左下角危险红三角(开格有代价的策略纹理标记)
var mutation_mark := "":
# 叠加层标记(迭代 7 T4——魔法道具板级叠加层的格面呈现;派生信息层零回写):
# "mine_reveal" = 真视格(危险红内缩框——「这格是雷」的确定决策标记,插旗照常计费);
# "reward_preview" 格不复用本字段——预读徽章走 badge_glyph 注入(board_view refresh 注入 REWARD_BADGE 字形)
var aux_mark := "":
set(v):
if aux_mark != v:
aux_mark = v
queue_redraw()
var mutation_mark := ":":
set(v):
if mutation_mark != v:
mutation_mark = v
@@ -175,6 +183,11 @@ func _draw() -> void:
draw_texture_rect(tex_mutation, rect, false)
# ②' 变异角标(迭代 6 T6):左下角危险红三角(危险红=「开此格有代价」语义位,与雷族同源;
# 尺寸随格边比例——灰色可辨辅助=红对砖面明度差,禁喧宾)
# ②" 魔法道具叠加层(迭代 7 T4):真视格=危险红内缩框(策略纹理——确定决策输入不喧宾)
if aux_mark == "mine_reveal":
var inset := edge * 0.14
draw_rect(Rect2(inset, inset, edge - inset * 2.0, edge - inset * 2.0),
Color(UiKit.RED_MINE, 0.9), false, 2.0)
if mutation_mark == "flat_damage":
var mw := edge * 0.28
var mpts := PackedVector2Array([Vector2(0, edge - mw), Vector2(0, edge), Vector2(mw, edge)])