From 9ab540ee9ad1a9e79cb2a913b67948371941e167 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Wed, 30 Sep 2026 07:11:41 +0800 Subject: [PATCH] =?UTF-8?q?iter9-T13:=20=E5=8D=A1=E2=91=AC=20=E5=B0=81?= =?UTF-8?q?=E5=8D=B0=E6=97=97=E7=BA=B9=E7=90=86=E8=87=AA=E4=BA=A7+tex=5Ffl?= =?UTF-8?q?ag=20=E6=8E=A5=E7=BA=BF=EF=BC=88=E8=BF=AD=E4=BB=A3=208=20?= =?UTF-8?q?=E5=8D=A1=E2=91=A4=E9=99=8D=E7=BA=A7=E5=80=BA=E5=8A=A1=E6=B8=85?= =?UTF-8?q?=E5=81=BF=EF=BC=89=E2=80=94=E2=80=94=E8=87=AA=E4=BA=A7=20flag?= =?UTF-8?q?=5Fseal.png=2032=C3=9732=EF=BC=88=E6=97=97=E6=9D=86=202=C3=9722?= =?UTF-8?q?+=E7=9F=A9=E5=BD=A2=E6=97=97=E9=9D=A2=2013=C3=9710=EF=BC=8C?= =?UTF-8?q?=E5=B0=81=E5=8D=B0=E9=BB=91=20#000000=20=E7=BA=AF=E8=89=B2?= =?UTF-8?q?=EF=BC=8C=E6=95=B4=E6=95=B0=E5=83=8F=E7=B4=A0=E6=A0=BC=EF=BC=9B?= =?UTF-8?q?=E7=B4=A0=E6=9D=90=E4=B8=8D=E5=85=A5=20git=20=E9=9A=8F=E6=89=B9?= =?UTF-8?q?=E6=8B=B7=E4=B8=BB=E5=8C=BA=EF=BC=89+board=5Fview=20=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E5=8F=AF=E9=80=89=E4=BB=B6=E8=A3=85=E8=BD=BD=EF=BC=88?= =?UTF-8?q?TILE=5FFLAG=5FSEAL/load=5Ftex=20exists=20=E5=AE=88=E5=8D=AB?= =?UTF-8?q?=E2=80=94=E2=80=94=E7=BC=BA=E7=9B=98=3D=E5=AD=97=E5=BD=A2?= =?UTF-8?q?=E3=80=8C=E6=97=97=E3=80=8D=E5=9B=9E=E9=80=80=E5=8E=9F=E8=AF=AD?= =?UTF-8?q?=E4=B9=89=EF=BC=8C=E4=B8=8D=E8=A7=A6=E5=8F=91=E7=93=A6=E7=89=87?= =?UTF-8?q?=E6=95=B4=E6=89=B9=E5=9B=9E=E8=90=BD=EF=BC=89+tex=5Fflag=20?= =?UTF-8?q?=E9=80=90=20paint=20=E9=87=8D=E7=BD=AE=E9=98=B2=E4=B8=B2?= =?UTF-8?q?=E6=A0=BC=EF=BC=9B=E8=BD=BB=E9=97=B8=3D=E5=86=92=E7=83=9F=20596?= =?UTF-8?q?/0+ui=5Finput=20=E5=8D=81=E5=9B=9B=E6=96=AD=E8=A8=80=EF=BC=88fl?= =?UTF-8?q?ag=5Fplace=20=E8=B7=AF=E5=BE=84=E8=BF=87=EF=BC=89+shot=5Fprobe?= =?UTF-8?q?=20=E9=97=AE=E9=A2=98=3D0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/presentation/views/board_view.gd | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/game/presentation/views/board_view.gd b/game/presentation/views/board_view.gd index 6fec892e..60f6afc3 100644 --- a/game/presentation/views/board_view.gd +++ b/game/presentation/views/board_view.gd @@ -85,6 +85,7 @@ const HERO_SHADOW_PX := Vector2(32, 12) # 脚下椭圆影屏幕尺寸(Godot # dungeon 套(禁同板混渲染);dungeon 套亦缺位 → 程序化平色回退(fresh checkout 冒烟不炸)。 const TILE_WALL_NAMES := ["wall_center", "wall_center_crack", "wall_center_speckle", "wall_n", "wall_s", "wall_w", "wall_nw", "wall_sw", "wall_hrun", "wall_vrun", "wall_end_n", "wall_end_s", "wall_end_w", "wall_lone", "wall_in_nw", "wall_in_sw"] const TILE_WALL_FMT := "res://assets/art/board/terrain_%s_%s.png" # %s=件名 %s=board_type +const TILE_FLAG_SEAL := "res://assets/art/board/flag_seal.png" # 封印旗纹理(迭代 9 卡⑬——独立可选件) const TILE_FLOOR_FMT := "res://assets/art/board/terrain_floor_%s_%d.png" # %s=board_type 1..%d 变体 const TILE_FLOOR_VARIANTS := 5 # 地面瓦片变体数(词表 §一 floor_1..5) @@ -127,6 +128,7 @@ var _hero_dig_tw: Tween var _tiles := {} # 词表键 → Texture2D(镜像件已预翻转;装载见 _load_board_tiles) var _floor_tiles: Array[Texture2D] = [] # 地面瓦片五变体(下标 0..4 = floor_1..5) var _tiles_ok := false # false = 素材缺位/未装载——bg_sb 程序化平色原路径 +var _flag_tex: Texture2D = null # 封印旗纹理(缺盘=null=字形「旗」回退——独立可选件不连瓦片整批) var _tiles_board_type := "dungeon" # 当前装载瓦片套的 board_type(rebuild 按板切换——T6 换色批) var cell_size: float: # 只读属性(ui_layout_probe 断言面——旧私有名 _cell 的契约化出口) @@ -683,8 +685,13 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void: else: if flag: bg = COL_BRICK - glyph = "旗" - digit_col = COL_FLAG + # 封印旗纹理落位(迭代 9 卡⑬——tex_flag 槽接线,迭代 8 卡⑤降级债务清偿): + # 纹理在位=字形「旗」退役(项目纹理槽惯例);缺盘=字形回退原语义(load_tex exists 守卫) + if _flag_tex != null: + u.tex_flag = _flag_tex + else: + glyph = "旗" + digit_col = COL_FLAG else: bg = COL_BRICK # 瓦片模式(高墙接线批 2026-09-26):tex_base = 查表瓦片(未开=墙瓦片/已开=地面瓦片), @@ -716,6 +723,7 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void: u.proj_band = 0.0 u.tex_facade = null u.facade_strip = false + u.tex_flag = null var south_n: Vector2i = c + Vector2i(0, 1) var north_n: Vector2i = c + Vector2i(0, -1) var south_in: bool = south_n.x >= 0 and south_n.y >= 0 and south_n.x < _board.width and south_n.y < _board.height @@ -875,6 +883,8 @@ func _load_board_tiles(board_type: String = "dungeon") -> void: _floor_tiles = floors _tiles_board_type = board_type _tiles_ok = true + # 封印旗纹理(迭代 9 卡⑬——独立可选件:缺盘=字形回退,不触发瓦片整批回落语义) + _flag_tex = UiKit.load_tex(TILE_FLAG_SEAL) # 整批回落(T6 换色批):请求套缺位 → 回落 dungeon 套(禁同板混渲染);dungeon 本身缺位 =