秘宝批T1组A+D:玩家可见文案5处+注释层「魔法道具」→「秘宝」全清(敌方语汇/道具工坊分色保全,冒烟755/0)
This commit is contained in:
1 parent
3c4291dbd9
commit
b4b8bb37e0
21 files changed
+43
-43
No files matched your search
@@ -1,5 +1,5 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 魔法道具两步交互控制器(迭代 7 T4;T3 拆件批 2026-10-02 自 main.gd 迁出——规范 1.1 单一职责):
|
||||
# 秘宝两步交互控制器(迭代 7 T4;T3 拆件批 2026-10-02 自 main.gd 迁出——规范 1.1 单一职责):
|
||||
# C 区槽位选中/取消(toggle)→ 棋盘点格使用目标拾取的两步交互状态机 + 库存/叠加层只读投影装配。
|
||||
# 数据源 = runner 级库存只读面(query_inventory/query_overlays)+ 表行投影(display_name/target/effect_kinds);
|
||||
# 写调用唯一经 战斗结算.use_aux(core 侧四步编排——拒绝零消耗 toast 可辨认)。
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
# ui_assembler.gd,模态层级归 modal_stack.gd,批量模拟编排归 tune_sim_controller.gd,调试模式编排归
|
||||
# debug_session.gd——本类不拼呈现字符串。
|
||||
# T3 拆件批(2026-10-02,规范 1.1 单一职责):结算行排播泵迁 row_pacer.gd(本类只入队/排空/读队列,
|
||||
# 探针/测试委托面 _row_queue/pace_delay_for/_flush_row_queue 原位保留);魔法道具两步交互迁
|
||||
# 探针/测试委托面 _row_queue/pace_delay_for/_flush_row_queue 原位保留);秘宝两步交互迁
|
||||
# aux_interact_controller.gd(本类只接线与转发意图,无目标使用显式化——哨兵坐标不出控制器);
|
||||
# GP 冒险钱包影子账迁 gp_shadow_ledger.gd(本类留探针同名读写委托面)。模态开合全量走
|
||||
# _open_modal/_close_modal 单口,输入锁=modal_stack.has_open() 开态查询+三例外;battle 收尾反馈与
|
||||
@@ -36,7 +36,7 @@ const ModalStack := preload("res://presentation/modal_stack.gd")
|
||||
const TuneSimController := preload("res://presentation/tune_sim_controller.gd")
|
||||
const DebugSessionScript := preload("res://presentation/debug_session.gd")
|
||||
const RowPacer := preload("res://presentation/row_pacer.gd") # 结算行排播泵(T3 拆件批)
|
||||
const AuxInteractController := preload("res://presentation/aux_interact_controller.gd") # 魔法道具两步交互(T3 拆件批)
|
||||
const AuxInteractController := preload("res://presentation/aux_interact_controller.gd") # 秘宝两步交互(T3 拆件批)
|
||||
const GpShadowLedgerScript := preload("res://presentation/gp_shadow_ledger.gd") # GP 影子账本(T3 拆件批)
|
||||
const BonusInteractController := preload("res://presentation/bonus_interact_controller.gd") # 三选一与替换子交互(T4/D4 拆件批)
|
||||
const CampShopPresenter := preload("res://presentation/camp_shop_presenter.gd") # 营地/商店投影(T4/D4 拆件批)
|
||||
@@ -90,7 +90,7 @@ var settlement_fx: SettlementFxView # 结算演出覆盖层(跨区弹道
|
||||
|
||||
# T3 拆件批(2026-10-02)——三件迁出后的组合根持有面(职责见各类头注;装配见 _build_ui)
|
||||
var _row_pacer = null # 结算行排播泵(row_pacer.gd——本类只入队/排空/读队列)
|
||||
var _aux = null # 魔法道具两步交互(aux_interact_controller.gd——本类只接线与转发意图)
|
||||
var _aux = null # 秘宝两步交互(aux_interact_controller.gd——本类只接线与转发意图)
|
||||
var _bonus = null # 三选一与替换子交互(bonus_interact_controller.gd——本类只接线与回调注入)
|
||||
var _camp_pres = null # 营地/商店投影(camp_shop_presenter.gd——本类只接线、探针缝保缝转发)
|
||||
var _gp_ledger := GpShadowLedgerScript.new() # GP 冒险钱包影子账(gp_shadow_ledger.gd——wallet 事件投喂)
|
||||
@@ -217,7 +217,7 @@ func _build_ui() -> void:
|
||||
_row_pacer.refresh_request = _refresh_presentations
|
||||
_row_pacer.pump_ended = _on_pump_ended # T17 v3.1+演播后排窗——边沿统一派发(挂起 modal 优先,其次锁期点击重放) # T17 v3.1——演播完边沿重放锁期点击(合并批接线)
|
||||
add_child(_row_pacer)
|
||||
# 魔法道具两步交互(T3 拆件批——迁 aux_interact_controller.gd;settlement/runner 随关卡更替,
|
||||
# 秘宝两步交互(T3 拆件批——迁 aux_interact_controller.gd;settlement/runner 随关卡更替,
|
||||
# 经现值回调注入——仿 identity_resolver 只读回调先例)
|
||||
_aux = AuxInteractController.new(db, meta, info_panel, board_zone.toast, board_view,
|
||||
func() -> Variant: return settlement, func() -> Variant: return runner)
|
||||
@@ -954,7 +954,7 @@ func _on_board_action(cell: Vector2i, kind: String) -> void:
|
||||
if not _row_queue.is_empty():
|
||||
_locked_click = {"cell": cell, "kind": kind}
|
||||
return
|
||||
# 魔法道具选中态劫持(迭代 7 T4——两步交互第二步):点格=使用目标拾取,不落挖格;
|
||||
# 秘宝选中态劫持(迭代 7 T4——两步交互第二步):点格=使用目标拾取,不落挖格;
|
||||
# 只劫持挖掘点击(move/flag 语义不冲突——选中期玩家仍可移动/插旗)
|
||||
var aux_sel: int = _aux.active_selection()
|
||||
if aux_sel != 0 and kind == "dig":
|
||||
|
||||
@@ -95,7 +95,7 @@ var facade_strip := false: # E 格开关(BoardView paint 按「已开
|
||||
|
||||
# 变异角标(迭代 6 T6——程序化,tex_mutation 纹带槽留给变异纹带六型自产批):
|
||||
# "flat_damage" = 未开格伤害型变异,左下角危险红三角(开格有代价的策略纹理标记)
|
||||
# 叠加层标记(迭代 7 T4——魔法道具板级叠加层的格面呈现;派生信息层零回写):
|
||||
# 叠加层标记(迭代 7 T4——秘宝板级叠加层的格面呈现;派生信息层零回写):
|
||||
# "mine_reveal" = 真视格(危险红内缩框——「这格是雷」的确定决策标记,插旗照常计费);
|
||||
# "reward_preview" 格不复用本字段——预读徽章走 badge_glyph 注入(board_view refresh 注入 REWARD_BADGE 字形)
|
||||
var aux_mark := "":
|
||||
@@ -212,7 +212,7 @@ func _draw() -> void:
|
||||
draw_texture_rect(tex_mutation, rect, false)
|
||||
# ②' 变异角标(迭代 6 T6):左下角危险红三角(危险红=「开此格有代价」语义位,与雷族同源;
|
||||
# 尺寸随格边比例——灰色可辨辅助=红对砖面明度差,禁喧宾)
|
||||
# ②" 魔法道具叠加层(迭代 7 T4):真视格=危险红内缩框(策略纹理——确定决策输入不喧宾)
|
||||
# ②" 秘宝叠加层(迭代 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),
|
||||
|
||||
@@ -98,8 +98,8 @@ var _minesweeper = null # 排雷玩法 只读查询引用(refresh
|
||||
var _identity_cb := Callable() # 地图战斗资源 身份解析回调(组合根注入只读面)——Vector2i → Dictionary/null
|
||||
var _mask_cb := Callable() # 地形变异 数字遮蔽回调(组合根注入只读面)——Vector2i → bool(true = 该格数字不显示)
|
||||
var _vmark_cb := Callable() # 地形变异 角标回调(迭代 6 T6 只读面)——Vector2i → String("flat_damage"=伤害型变异未开格;""=无)
|
||||
var _aux_reveal := {} # 魔法道具 真视集(迭代 7 T4——Vector2i → true;组合根 set_aux_overlays 注入投影)
|
||||
var _aux_preview := {} # 魔法道具 预读集(同上——未开格徽章呈现挂点)
|
||||
var _aux_reveal := {} # 秘宝 真视集(迭代 7 T4——Vector2i → true;组合根 set_aux_overlays 注入投影)
|
||||
var _aux_preview := {} # 秘宝 预读集(同上——未开格徽章呈现挂点)
|
||||
var _diggable := {} # 可挖域(8 向相邻未开格)——呼吸微光作用集
|
||||
var _breath_t := 0.0
|
||||
var _contact_unit: Node2D = null # 接触带承载单元(=英雄格 CellUnit;rebuild 随清场复位)
|
||||
@@ -213,7 +213,7 @@ func set_variant_mask_resolver(cb: Callable) -> void:
|
||||
func set_variant_mark_resolver(cb: Callable) -> void:
|
||||
_vmark_cb = cb
|
||||
|
||||
# 魔法道具叠加层投影注入(迭代 7 T4——组合根在 use 成功/三清后调;refresh 消费)
|
||||
# 秘宝叠加层投影注入(迭代 7 T4——组合根在 use 成功/三清后调;refresh 消费)
|
||||
func set_aux_overlays(reveal_cells: Array, preview_cells: Array) -> void:
|
||||
_aux_reveal.clear()
|
||||
_aux_preview.clear()
|
||||
@@ -788,7 +788,7 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void:
|
||||
if south_in and not _minesweeper.is_revealed(south_n) and _tiles_ok:
|
||||
u.facade_strip = true
|
||||
u.tex_facade = _tiles.get("wall_center")
|
||||
# ②( 魔法道具叠加层(迭代 7 T4):真视格=红内缩框;预读格=奖励身份徽章(identity_resolver 既有
|
||||
# ②( 秘宝叠加层(迭代 7 T4):真视格=红内缩框;预读格=奖励身份徽章(identity_resolver 既有
|
||||
# 只读面取字形——零数据复制,badge 位复用);已开格标记自然退位(refresh 逐拍重算)
|
||||
if not revealed:
|
||||
u.aux_mark = "mine_reveal" if _aux_reveal.has(c) else ""
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 实现 GDD:design/ux/battle.md(C 区角色信息 240×548——2026-09-26 信息归属拍板精简:
|
||||
# 攻击(+修正来源角标)/护甲 AC 数据框 + 魔法道具槽(预留)+ 特性列表(预留)。
|
||||
# 攻击(+修正来源角标)/护甲 AC 数据框 + 秘宝槽(预留)+ 特性列表(预留)。
|
||||
# HP 条/立绘占位/状态效果槽/RAP 池/GP/钥石退役——HP 与状态唯一展示面 = B 区站桩(同一数据
|
||||
# hud_presenter 双投喂 B/C 两区的重复展示);RAP 迁 D 区 AP 条(贴弃图刷新消费口);
|
||||
# GP(中循环)/钥石(大循环)迁出战斗屏)。
|
||||
@@ -15,7 +15,7 @@ const COL_INK := UiKit.INK
|
||||
var _atk_label: Label
|
||||
var _armor_label: Label
|
||||
signal aux_slot_clicked(handle: int) # 迭代 7 T4——槽点击(组合根消费:AP 类即用/空间类进选中态)
|
||||
var item_slots: HBoxContainer # 魔法道具槽(迭代 7 T4 接线——库存条常读+两步交互第一步)
|
||||
var item_slots: HBoxContainer # 秘宝槽(迭代 7 T4 接线——库存条常读+两步交互第一步)
|
||||
var _slot_panels: Array = [] # 槽 PanelContainer 引用(选中高亮/置灰重刷)
|
||||
var _selected_handle := 0 # 选中态(0=无;组合根回写维持单源)
|
||||
var _slot_handles: Array = [] # 槽位→handle 映射(set_aux_inventory 刷新)
|
||||
@@ -51,9 +51,9 @@ func _init() -> void:
|
||||
_armor_label = _data_line()
|
||||
data_col.add_child(_armor_label)
|
||||
|
||||
# 魔法道具槽(预留):随身战斗用道具的唯一展示面——空槽占位承诺格子在此,
|
||||
# 不预设交互(挖掘期指向交互归 E 区既有裁决);终稿样式/槽位数归魔法道具批
|
||||
col.add_child(UiKit.label("魔法道具", 16, true))
|
||||
# 秘宝槽(预留):随身战斗用道具的唯一展示面——空槽占位承诺格子在此,
|
||||
# 不预设交互(挖掘期指向交互归 E 区既有裁决);终稿样式/槽位数归秘宝批
|
||||
col.add_child(UiKit.label("秘宝", 16, true))
|
||||
item_slots = HBoxContainer.new()
|
||||
item_slots.add_theme_constant_override("separation", 10)
|
||||
col.add_child(item_slots)
|
||||
@@ -162,7 +162,7 @@ func _data_line() -> Label:
|
||||
l.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS
|
||||
return l
|
||||
|
||||
# ---- 魔法道具库存条(迭代 7 T4——C 区四槽常读+两步交互第一步)----
|
||||
# ---- 秘宝库存条(迭代 7 T4——C 区四槽常读+两步交互第一步)----
|
||||
# 投影行 = {handle, glyph, name, used, usable}(组合根组装:字形=道具名首字;数据源 runner 级库存只读面)。
|
||||
# 空槽=虚位;used=暗态「已用」保留占位(Used 不可逆——受理序展示语义);不可用=置灰(板级零信息);
|
||||
# selected=金框高亮(两步交互第一步的可见态)。tooltip=全名+维度语义。
|
||||
@@ -175,7 +175,7 @@ func set_aux_inventory(items: Array, selected_handle: int) -> void:
|
||||
c.queue_free()
|
||||
if i >= items.size():
|
||||
_slot_handles.append(0)
|
||||
slot.tooltip_text = "魔法道具槽(空)"
|
||||
slot.tooltip_text = "秘宝槽(空)"
|
||||
slot.add_theme_stylebox_override("panel",
|
||||
UiKit.panel_flat(UiKit.PANEL_DATA, UiKit.PANEL_BORDER, 0, 1, Vector4(4, 4, 4, 4)))
|
||||
continue
|
||||
|
||||
@@ -161,7 +161,7 @@ const TEX_ICON_HEART := "res://assets/art/ui/icon_heart.png" #
|
||||
const TEX_ICON_SHOVEL := "res://assets/art/ui/icon_shovel.png" # 图标·铲(挖掘系商品/锻造)
|
||||
const TEX_ICON_MEDKIT := "res://assets/art/ui/icon_medkit.png" # 图标·医疗包
|
||||
const TEX_ICON_POUCH := "res://assets/art/ui/icon_pouch.png" # 图标·弹药袋/行动点
|
||||
const TEX_ICON_BLAST := "res://assets/art/ui/icon_blast.png" # 图标·工兵爆破(魔法道具)
|
||||
const TEX_ICON_BLAST := "res://assets/art/ui/icon_blast.png" # 图标·工兵爆破(秘宝)
|
||||
const TEX_ICON_COINBAG := "res://assets/art/ui/icon_coinbag.png" # 图标·金币袋
|
||||
const TEX_ICON_KEYSHARD := "res://assets/art/ui/icon_keyshard.png" # 图标·钥石残片
|
||||
const TEX_ICON_REFRESH := "res://assets/art/ui/icon_refresh.png" # 图标·刷新(货架/候选)
|
||||
|
||||
Reference in new issue
Block a user