iter16ui T5:P4乙panel切片8→16(PANEL_SLICE单点,button 8/仪式框12维持)+Q1丙panel_skinned工厂content margin clamp(低于切片自动抬平,9消费面7处受益调用点零改)+P5甲圆角收敛RADIUS_OBJECT=5单点(26处2/3/4/5/6/8档归一;例外17底座/200金印/100脉冲环保留)+bcard选中底字面量退役归PANEL_DATA+art-bible §7.1圆角单点与九宫格切片两条注记双侧落文;轻闸冒烟782/0+probe_gate --click全绿(click done=true 问题=0)
This commit is contained in:
1 parent
b26e3fb064
commit
2f74da830b
8 files changed
+42
-31
No files matched your search
@@ -228,6 +228,11 @@ static func load_font(path: String) -> Font:
|
||||
|
||||
# ── StyleBox 工厂 ──
|
||||
# margin = (左, 上, 右, 下);border_w = 0 即无边框(根底/遮罩用)
|
||||
# 圆角率单点(UI 设计对齐批 P5 甲 2026-10-06——容器/按钮全站唯一圆角值;数据框/数字牌/AP 点阵/准线/血条
|
||||
# =0 直角不变;底座椭圆 17/结算金印 200/状态脉冲环 100 圆形 = §7.1 明示例外保留。取值=代拍板 5,可推翻)
|
||||
const RADIUS_OBJECT := 5
|
||||
# 九宫格切片(P4 乙 2026-10-06——panel 石皮 8→16 与 demo .plate9 slice16 对齐;button 维持 8、仪式框维持 12)
|
||||
const PANEL_SLICE := 16.0
|
||||
static func panel_flat(bg: Color, border: Color, corner: int = 0, border_w: int = 1, margin: Vector4 = Vector4.ZERO) -> StyleBoxFlat:
|
||||
var sb := StyleBoxFlat.new()
|
||||
sb.bg_color = bg
|
||||
@@ -320,15 +325,19 @@ static func _tex_sb(tex: Texture2D, margin: float, tint := Color.WHITE) -> Style
|
||||
|
||||
|
||||
# 石板亮面板(B 区舞台/C 区主面板/图例——容器穿戏服;数据框仍 panel_flat 素面 §7.1)
|
||||
# Q1 丙(2026-10-06):content margin 低于切片的分量自动抬到切片——切片加大到 16 后石框纹理不吃内容
|
||||
# (T0 实查 9 消费面 7 处 margin<16;工厂单点 clamp,调用点零改)
|
||||
static func panel_skinned(margin: Vector4 = Vector4.ZERO, tint := Color.WHITE) -> StyleBox:
|
||||
var m := Vector4(maxf(margin.x, PANEL_SLICE), maxf(margin.y, PANEL_SLICE),
|
||||
maxf(margin.z, PANEL_SLICE), maxf(margin.w, PANEL_SLICE))
|
||||
var tex := load_tex(TEX_PANEL_STONE)
|
||||
if tex == null:
|
||||
return panel_flat(PANEL_DATA, PANEL_BORDER, 4, 1, margin)
|
||||
var sb := _tex_sb(tex, 8.0, tint)
|
||||
sb.content_margin_left = margin.x
|
||||
sb.content_margin_top = margin.y
|
||||
sb.content_margin_right = margin.z
|
||||
sb.content_margin_bottom = margin.w
|
||||
return panel_flat(PANEL_DATA, PANEL_BORDER, RADIUS_OBJECT, 1, m)
|
||||
var sb := _tex_sb(tex, PANEL_SLICE, tint)
|
||||
sb.content_margin_left = m.x
|
||||
sb.content_margin_top = m.y
|
||||
sb.content_margin_right = m.z
|
||||
sb.content_margin_bottom = m.w
|
||||
return sb
|
||||
|
||||
|
||||
@@ -336,7 +345,7 @@ static func panel_skinned(margin: Vector4 = Vector4.ZERO, tint := Color.WHITE) -
|
||||
static func frame_skinned(margin: Vector4 = Vector4.ZERO) -> StyleBox:
|
||||
var tex := load_tex(TEX_BORDER_STONE)
|
||||
if tex == null:
|
||||
return panel_flat(BG_OVERLAY, PANEL_BORDER, 6, 1, margin)
|
||||
return panel_flat(BG_OVERLAY, PANEL_BORDER,RADIUS_OBJECT, 1, margin)
|
||||
var sb := _tex_sb(tex, 12.0)
|
||||
sb.content_margin_left = margin.x
|
||||
sb.content_margin_top = margin.y
|
||||
@@ -396,10 +405,10 @@ static func verb_button(text: String, icon_path: String, tip := "") -> Button:
|
||||
# 主操作钮(烛光黄平涂+木描边——非奖励金;配色总纲「主按钮禁亮金」;缺 panel_stone 依赖=纯色可靠)
|
||||
static func primary_button(text: String, tip := "") -> Button:
|
||||
var b := button(text)
|
||||
var sb := panel_flat(CANDLE, Color8(110, 69, 52), 5, 2, Vector4(10, 2, 10, 2))
|
||||
var sb := panel_flat(CANDLE, Color8(110, 69, 52),RADIUS_OBJECT, 2, Vector4(10, 2, 10, 2))
|
||||
b.add_theme_stylebox_override("normal", sb)
|
||||
b.add_theme_stylebox_override("hover", panel_flat(CANDLE.lightened(0.06), Color8(110, 69, 52), 5, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_stylebox_override("pressed", panel_flat(Color8(214, 172, 88), Color8(110, 69, 52), 5, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_stylebox_override("hover", panel_flat(CANDLE.lightened(0.06), Color8(110, 69, 52),RADIUS_OBJECT, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_stylebox_override("pressed", panel_flat(Color8(214, 172, 88), Color8(110, 69, 52),RADIUS_OBJECT, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_color_override("font_color", Color8(58, 42, 8))
|
||||
b.add_theme_color_override("font_hover_color", Color8(58, 42, 8))
|
||||
b.add_theme_color_override("font_pressed_color", Color8(58, 42, 8))
|
||||
@@ -412,9 +421,9 @@ static func primary_button(text: String, tip := "") -> Button:
|
||||
# 危险钮(深红平涂——放弃/删除类;破坏性确认位置纪律=不得与常规确认同位)
|
||||
static func danger_button(text: String, tip := "") -> Button:
|
||||
var b := button(text)
|
||||
var sb := panel_flat(Color8(180, 78, 54), Color8(110, 42, 28), 5, 2, Vector4(10, 2, 10, 2))
|
||||
var sb := panel_flat(Color8(180, 78, 54), Color8(110, 42, 28),RADIUS_OBJECT, 2, Vector4(10, 2, 10, 2))
|
||||
b.add_theme_stylebox_override("normal", sb)
|
||||
b.add_theme_stylebox_override("hover", panel_flat(Color8(196, 90, 62), Color8(110, 42, 28), 5, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_stylebox_override("hover", panel_flat(Color8(196, 90, 62), Color8(110, 42, 28),RADIUS_OBJECT, 2, Vector4(10, 2, 10, 2)))
|
||||
b.add_theme_color_override("font_color", Color8(255, 244, 224))
|
||||
b.add_theme_color_override("font_hover_color", Color8(255, 244, 224))
|
||||
b.add_theme_color_override("font_pressed_color", Color8(255, 244, 224))
|
||||
@@ -439,8 +448,8 @@ class BCard:
|
||||
|
||||
func _init(title: String, desc: String, band: Color, icon_path: String, price := "", footnote := "") -> void:
|
||||
var tex := UiKit.load_tex(UiKit.TEX_PANEL_STONE)
|
||||
_sb_normal = UiKit.panel_skinned(Vector4(12, 10, 12, 10)) if tex != null else UiKit.panel_flat(PANEL_DATA, PANEL_BORDER, 5, 1, Vector4(12, 10, 12, 10)) # 回退=数据板单点(P7 乙后同值,字面量退役)
|
||||
_sb_sel = UiKit.panel_flat(Color8(233, 217, 184), Color8(138, 90, 52), 5, 2, Vector4(12, 10, 12, 10))
|
||||
_sb_normal = UiKit.panel_skinned(Vector4(12, 10, 12, 10)) if tex != null else UiKit.panel_flat(PANEL_DATA, PANEL_BORDER,RADIUS_OBJECT, 1, Vector4(12, 10, 12, 10)) # 回退=数据板单点(P7 乙后同值,字面量退役)
|
||||
_sb_sel = UiKit.panel_flat(PANEL_DATA, Color8(138, 90, 52), RADIUS_OBJECT, 2, Vector4(12, 10, 12, 10)) # 选中底=数据板单点(P7 乙后同值)
|
||||
add_theme_stylebox_override("panel", _sb_normal)
|
||||
custom_minimum_size = Vector2(216, 300)
|
||||
var box := VBoxContainer.new()
|
||||
@@ -506,7 +515,7 @@ class SwitchToggle:
|
||||
toggle_mode = true
|
||||
button_pressed = initial
|
||||
custom_minimum_size = Vector2(46, 22)
|
||||
var track := UiKit.panel_flat(Color8(184, 165, 130), Color8(120, 110, 88), 3, 2)
|
||||
var track := UiKit.panel_flat(Color8(184, 165, 130), Color8(120, 110, 88),RADIUS_OBJECT, 2)
|
||||
add_theme_stylebox_override("normal", track)
|
||||
add_theme_stylebox_override("hover", track)
|
||||
add_theme_stylebox_override("pressed", track)
|
||||
|
||||
Reference in new issue
Block a user