You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 20, 2026. It is now read-only.
现象
窗口较小时,Combat Impact 面板会超出可见区域向下溢出,且不会触发
+N more裁剪 —— 内容被窗口边缘直接切掉。复现(2026-08-04):
面板从窗口顶部一直延伸出底部,
+N more行始终没有出现。不是重构引入的
在
refactor/native-paired-tooltip-host(#206)和 master952d8b23上分别复现,两者逐行一致:相同分组、相同明细行、相同顺序、相同溢出、同样没有+N more。两边日志也都是恰好 2 条pair_top_alignment_adjusted。即这是既有行为,与 #206 的抽取无关。
根因方向(未验证,有证据支撑)
裁剪判定
FitsCanvasHeight把面板高度和根 Canvas 的矩形比较:primary.RootCanvasComponent.transform as RectTransform,再Inset(canvasRect.rect, CanvasMargin)_canvasForWorldBounds(decompiled/TheBazaarRuntime/TheBazaar.UI.Tooltips/BaseTooltipController.cs:135, 209-211)这是两个不同的序列化引用(
RootCanvasComponent定义在CardTooltipController.cs:557)。如果_canvasForWorldBounds是一个更小的内层安全区,而根 Canvas 更大,那么我们的高度判定就会认为"放得下",于是既不裁剪、也不上移,面板就溢出到可见区域之外。原生
KeepTooltipWithinBounds()用的正是前者,所以原生 tooltip 不会越界,而 BPP 自绘面板会。建议验证方式
在
Position里对同一 controller 同时读出两个矩形的 canvas-local 尺寸并比对;若两者不同即可确认。修法方向是把 Combat Impact 的可用高度基准从根 Canvas 换成与原生一致的边界矩形。影响范围
只影响小窗口 / 特定宽高比下内容量大的卡。全屏默认分辨率下未观察到。