iter52-卡3:迭代52卡③(presentation层封装修复): A1三类42字段公开化(280处改址)+A2拆件子件公开面(vitals14/motion14/board_hover七口)+B族组合根交接面(18服务+12句柄口,束参两处,on_*保私有)+C族杂项(UiKit三工厂/构造交付)——presentation私取sweep恒零(V1-V4,105checks),main.gd例外键32与ui_kit例外键23落基线(§3.2误测0/0反哺点),探针测试22处引用迁移,渲染golden与探针套件零转红; 验收档中
This commit is contained in:
1 parent
f2c3a3887d
commit
67024cb9ec
42 files changed
+1391
-679
No files matched your search
@@ -0,0 +1,42 @@
|
||||
## VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
## SealMarkLayer——封印印记的独占承载子件(挂 BoardCellUnit 之下、1:1 贴格;复用 cell_type_glow_layer
|
||||
## 的子件模式:材质独占、全幅 draw_rect、非零 alpha 触发——不复制其函数体,微光层件零改动)。
|
||||
## 层序:印记层在 CellUnit 子树内(低于 BoardView 层的小人精灵——hero 精灵同层后挂天然在上);
|
||||
## 迷雾态(fog_state != 0)整层隐藏由宿主 fog_state setter 联动承载(§6.5「封印随格隐没」)。
|
||||
## 零动效(不呼吸不脉冲——§2.1 挖掘期唯一在动=接触带微光);参数与色全由 gd 注入
|
||||
##(单点 = ui_kit SEAL_* 常量——本件禁内联色值与参数字面值)。
|
||||
extends Node2D
|
||||
|
||||
const _SEAL_SHADER := preload("res://presentation/views/seal_mark.gdshader")
|
||||
|
||||
var _mat: ShaderMaterial = null
|
||||
var _edge := 0.0
|
||||
|
||||
|
||||
# 作用集侧唯一入口(on=false 仅隐不撤——子件生命周期归宿主 _sync_seal_layer)
|
||||
func setup(edge: float, on: bool) -> void:
|
||||
_edge = edge
|
||||
visible = on
|
||||
if not on:
|
||||
return
|
||||
if _mat == null:
|
||||
_mat = ShaderMaterial.new()
|
||||
_mat.shader = _SEAL_SHADER
|
||||
material = _mat
|
||||
_mat.set_shader_parameter("cell_px", edge)
|
||||
_mat.set_shader_parameter("ring_frac", UiKit.SEAL_RING_FRAC)
|
||||
_mat.set_shader_parameter("wall_frac", UiKit.SEAL_WALL_FRAC)
|
||||
_mat.set_shader_parameter("arm_frac", UiKit.SEAL_ARM_FRAC)
|
||||
_mat.set_shader_parameter("halo_frac", UiKit.SEAL_HALO_FRAC)
|
||||
_mat.set_shader_parameter("halo_alpha", UiKit.SEAL_HALO_ALPHA)
|
||||
_mat.set_shader_parameter("halo_gamma", UiKit.SEAL_HALO_GAMMA)
|
||||
_mat.set_shader_parameter("mark_col", UiKit.SEAL_BLACK)
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func _draw() -> void:
|
||||
if _edge <= 0.0:
|
||||
return
|
||||
# 一格全幅:片元着色器按距离场产出环+十字+环外光圈。
|
||||
# 输入 alpha 取 1/255(非零)——全透明几何在部分批次路径下会被整条跳过,着色器就跑不到。
|
||||
draw_rect(Rect2(Vector2.ZERO, Vector2(_edge, _edge)), Color(1, 1, 1, 1.0 / 255.0))
|
||||
Reference in new issue
Block a user