奥维实验icon
奥维实验
耳内有灰
问题原因:拆除屋檐/柱子时调用的是旧版全局方法 mapData:UninstallRoof(),它只检查已弃用的 self.roofInstalled 全局字段。而实际屋檐数据存储在 wallParts[wk].roofInstalled 中。修复:从 piece.data.wallKey 解析出 anchorRow, anchorCol,改为调用 mapData:UninstallWallParts(row, col),这个方法会正确清除对应墙段的 pillarsInstalled 和 roofInstalled。
耳内有灰
改动清单CollisionMap.lua:构造函数新增 self.wallStrips = {} 数组Rebuild() 步骤 4 从网格阻挡改为门槛条:遍历 GetWallGroups() 按砖块跨度计算宽度,有柱子时加 PILLAR_VIS_W新增 RebuildWallStrips() 方法(增量更新,添砖/装柱后调用)IsAreaBlocked() 新增段落 C 检测 wallStrips_IsInAnyStrip() 新增 wallStrips 循环(防 Q/E 旋转卡住)删除旧的 MarkWallBlocked() 方法main.lua:3 处 MarkWallBlocked() 调用全部替换为 RebuildWallStrips()MapCanvas.lua:新增绿色调试可视化,渲染留言墙门槛条(与建筑的蓝色区分)宽度计算逻辑halfW = (maxBX - minBX + 1) * 16 / 2如果 pillarsInstalled:    halfW += 48 * 0.32  (≈15.36)1 砖 → halfW=83 砖 → halfW=246 砖 → halfW=486 砖+柱子 → halfW≈63可以预览看看绿色门槛条的位置是否和砖墙对齐。