merge: 实机反馈两缺陷修(迭代16遗留mini-loop;①标题屏玩法文字墙删除〔用户令:教学内容归Beta帮助手册〕②钮高纪律BUTTON_MIN_H=40+equal_height断言族;冒烟782/0+三探针绿)
This commit is contained in:
commit
f823abf779
3 files changed
+26
-16
No files matched your search
@@ -95,9 +95,10 @@ static func build_overlays(host: Control, db) -> Dictionary:
|
||||
# 开始覆盖层(返回 {overlay, box, lvbtn, resumebtn, campbtn, settingsbtn, quitbtn, dbgbtn}——按钮接线归组合根;
|
||||
# 迭代 14.5 调试整合批:随机种子/数值调整板/两层调试三散件撤出主按钮组,收进调试浮窗——
|
||||
# 本层只留右下角「调试」角标入口(DS_DEBUG=1 门控归组合根),dbgbtn 即该角标。
|
||||
# UI 落码批 M2(2026-10-04):单列 VBox→双列(左操作 56% + 右舞台/帮助牌);按钮动词化+悬停解释
|
||||
#(解释全迁 tooltip,G5);lvbtn 升主操作钮(烛光黄 CANDLE);右列=立绘看台+玩法速览牌(帮助全文保留,
|
||||
# 表值驱动不变);root 挂 UiKit.tooltip_theme() 全树生效。返回键集不变,组合根接线零改)
|
||||
# UI 落码批 M2(2026-10-04):单列 VBox→双列(左操作 56% + 右舞台);按钮动词化+悬停解释
|
||||
#(解释全迁 tooltip,G5);lvbtn 升主操作钮(烛光黄 CANDLE);右列=立绘看台。**玩法速览牌已退役
|
||||
#(2026-10-06 用户令:界面禁玩法文字墙——教学内容归 Beta 帮助手册〔教学引导定稿批 P4 丙〕,历史文案在 git)**;
|
||||
# root 挂 UiKit.tooltip_theme() 全树生效。返回键集不变,组合根接线零改)
|
||||
static func build_start_overlay(host: Control, db = null) -> Dictionary:
|
||||
var overlay := overlay_bg(host, UiKit.BG_BRIGHT)
|
||||
overlay.theme = UiKit.tooltip_theme()
|
||||
@@ -194,16 +195,6 @@ static func build_start_overlay(host: Control, db = null) -> Dictionary:
|
||||
pedestal.size_flags_horizontal = Control.SIZE_SHRINK_CENTER
|
||||
stage.add_child(pedestal)
|
||||
right.add_child(stage)
|
||||
# 玩法帮助文案(表值驱动——2026-09-16 AP 压速批遗留硬编码 8 随手修正;护甲等级掷点批同步"减伤"→"护甲强化";
|
||||
# M2 容器化=石板牌承载〔文字禁直接压纹理/深底——§7.2〕,内容逐字保留含地形变异段)
|
||||
var help_text := "玩法:每轮 %d AP——挖开(1AP)/插旗(1AP)/移动(免费)/连锁(免费)。\n每个非封锁格都藏一种格面资源(增伤/护甲强化/回血/爆裂/削弱)。开安全格、标中雷 = 正向兑付;\n开雷格、标错安全格 = 负向兑付——全部在轮末结算逐行兑现;吃掷点的基础攻击按护甲等级判定,无 miss、最低保底 1 点。\n停手:剩余 AP 转存 RAP;弃图刷新:RAP−%d 当场换图继续挖(每轮剩 %d 次)。\n敌人全灭胜、主角倒下负。悬停可看三态光标与可挖域微光。\n地形变异:第二关起 Boss 图带整图变异(贫矿脉——回复与护甲资源减少、攻击资源增多;开战横幅与 HUD 角标常驻提示)。" % [
|
||||
int(db.action_economy.ap_per_round), int(db.action_economy.rap_refresh_cost), int(db.action_economy.refresh_cap_per_round)]
|
||||
var help_plate := PanelContainer.new()
|
||||
help_plate.add_theme_stylebox_override("panel", UiKit.panel_skinned(Vector4(14, 10, 14, 10)))
|
||||
help_plate.size_flags_horizontal = Control.SIZE_SHRINK_CENTER
|
||||
var help := UiKit.label(help_text,UiKit.FS_BODY, false, UiKit.INK)
|
||||
help_plate.add_child(help)
|
||||
right.add_child(help_plate)
|
||||
|
||||
return {"overlay": overlay, "box": box,
|
||||
"lvbtn": lvbtn, "resumebtn": resumebtn,
|
||||
|
||||
@@ -312,11 +312,16 @@ static func scaled(base: int, pct: int) -> int:
|
||||
|
||||
# 宽度纪律(ui-struct-probe 批 T3——全站按钮最小宽度基准 216+SIZE_FILL:VBox 列内拉满列宽等宽,
|
||||
# HBox 行内不抢余宽(EXPAND_FILL 会把行撑爆——营地底条 1616px 实证);角落小件/紧凑位传 0 豁免)
|
||||
# 钮高纪律(2026-10-06 用户令「对齐好、不要那么细」——标题屏主钮 26px 对常规钮 38px 不齐的治根):
|
||||
# 全站常规钮统一最小高 40(主操作钮/危险钮经 button() 同高对齐,压扁形态从此不存在);
|
||||
# 豁免域与宽度纪律同款——min_w=0 紧凑位(HUD 顶条小钮/角标)不抬行高
|
||||
const BUTTON_MIN_H := 40.0
|
||||
|
||||
static func button(text: String, min_w := 216.0) -> Button:
|
||||
var b := Button.new()
|
||||
b.text = text
|
||||
if min_w > 0.0:
|
||||
b.custom_minimum_size = Vector2(min_w, 0)
|
||||
b.custom_minimum_size = Vector2(min_w, BUTTON_MIN_H)
|
||||
b.size_flags_horizontal = Control.SIZE_FILL
|
||||
_apply_button_skin(b)
|
||||
return b
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
# 全 UI 屏结构断言一次跑完:逐屏实例化(菜单簇真驱动 + 冒险簇真流推进 + 兑付屏真实 open 面合成喂入),
|
||||
# 断言族:
|
||||
# ①overlap 同屏内可见未禁用按钮两两 global_rect 不相交(互压=红;层间模态盖底层系设计内——各屏采样以屏根为界天然排除)
|
||||
# ②equal_width 同一直接父容器内 ≥2 可见按钮宽度差 >1px=红(容器纪律:组内等宽)
|
||||
# ②equal_width 同一直接父容器内 ≥2 可见按钮宽度差 >1px=红(容器纪律:组内等宽;钮高族
|
||||
# equal_height 2026-10-06 增——同容器高度差 >1px=红,纪律=ui_kit BUTTON_MIN_H)
|
||||
# ③offscreen 可见件 global_rect 完全落在视口外=红
|
||||
# ④zero_size 可见件宽或高 ≤0=红
|
||||
# ⑤start 专项 标题屏左列(start_box)与右列(start_right)矩形不相交(M2 双列契约——叠放缺陷回归闸)
|
||||
@@ -237,7 +238,8 @@ func _audit(screen: String, roots: Array) -> void:
|
||||
if a.get_global_rect().intersects(b.get_global_rect()):
|
||||
problems.append("[%s][overlap] %s 与 %s 矩形相交(%s ∩ %s)" % [
|
||||
screen, a.name, b.name, a.get_global_rect(), b.get_global_rect()])
|
||||
# ②equal_width:同一直接父容器内 ≥2 可见按钮宽度差 >1px
|
||||
# ②equal_width + equal_height:同一直接父容器内 ≥2 可见按钮宽度/高度差 >1px
|
||||
#(钮高族 2026-10-06 用户令「对齐好、不要细」——主钮 26px 对常规 38px 不齐回归闸;纪律=ui_kit BUTTON_MIN_H)
|
||||
var groups := {}
|
||||
for b in all_buttons:
|
||||
var k: Node = b.get_parent()
|
||||
@@ -249,13 +251,18 @@ func _audit(screen: String, roots: Array) -> void:
|
||||
if g.size() < 2:
|
||||
continue
|
||||
var w0: float = (g[0] as Control).size.x
|
||||
var h0: float = (g[0] as Control).size.y
|
||||
var diff := false
|
||||
var diff_h := false
|
||||
for b in g:
|
||||
if _wl(screen, "equal_width", b):
|
||||
diff = false
|
||||
diff_h = false
|
||||
break
|
||||
if absf((b as Control).size.x - w0) > 1.0:
|
||||
diff = true
|
||||
if absf((b as Control).size.y - h0) > 1.0:
|
||||
diff_h = true
|
||||
if diff:
|
||||
var names: Array = []
|
||||
var widths: Array = []
|
||||
@@ -263,6 +270,13 @@ func _audit(screen: String, roots: Array) -> void:
|
||||
names.append(String((x as Control).name))
|
||||
widths.append((x as Control).size.x)
|
||||
problems.append("[%s][equal_width] 同容器按钮宽度不一(%s——%s)" % [screen, str(names), str(widths)])
|
||||
if diff_h:
|
||||
var names_h: Array = []
|
||||
var heights: Array = []
|
||||
for x in g:
|
||||
names_h.append(String((x as Control).name))
|
||||
heights.append((x as Control).size.y)
|
||||
problems.append("[%s][equal_height] 同容器按钮高度不一(%s——%s)" % [screen, str(names_h), str(heights)])
|
||||
# ③offscreen + ④zero_size(ScrollContainer 内容坐标系超出=可滚动设计内——豁免)
|
||||
for c in all_ctls:
|
||||
if _in_scroll(c):
|
||||
|
||||
Reference in new issue
Block a user