From f2c3a3887db6cf9a7c5577ea050a8d6d7f6e14d7 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 5 Nov 2026 03:04:21 +0800 Subject: [PATCH] =?UTF-8?q?iter52-=E5=8D=A12=EF=BC=9A=E8=BF=AD=E4=BB=A352?= =?UTF-8?q?=E5=8D=A1=E2=91=A1(=E5=AD=A4=E5=84=BF=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E6=B8=85=E9=80=80):=20=E5=88=A4=E6=AD=BB=E5=85=AD=E4=BB=B6?= =?UTF-8?q?=E5=88=A0=E9=99=A4(has=5Feffect=5Fon/=5Fbp=5Fread=5Fint/=5Ffind?= =?UTF-8?q?=5Ftoken/has=5Fopen/set=5Ffeedback=5Fstate/stop=5Fresolved)?= =?UTF-8?q?=E2=80=94=E2=80=94=E7=BA=A7=E8=81=94=E7=95=99=E5=AD=98=E5=A4=8D?= =?UTF-8?q?=E6=A0=B8=E5=85=A8=E2=89=A51=E5=9C=A8=E5=BD=B9,=E5=85=AD?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=96=B0=E5=A2=9E=E5=AD=A4=E5=84=BF=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E9=9B=B6=E5=91=BD=E4=B8=AD,=E5=8D=95=E6=B5=8B?= =?UTF-8?q?=E5=9F=9F80=E5=A5=97=E4=BB=B6=E5=85=A8=E7=BB=BF,=E9=9B=B6?= =?UTF-8?q?=E6=AE=8B=E7=95=99grep=E8=90=BD=E5=AE=A1=E8=AE=A1;=20=E9=AA=8C?= =?UTF-8?q?=E6=94=B6=E6=A1=A3=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/core/adventure_runner.gd | 5 ----- game/core/breakpoint_store.gd | 11 ----------- game/core/curio_stop.gd | 5 ----- game/core/effect_engine.gd | 12 ------------ game/presentation/modal_stack.gd | 13 ++----------- game/presentation/views/camp_scene_view.gd | 9 +-------- 6 files changed, 3 insertions(+), 52 deletions(-) diff --git a/game/core/adventure_runner.gd b/game/core/adventure_runner.gd index 1589624f..ec52bb49 100644 --- a/game/core/adventure_runner.gd +++ b/game/core/adventure_runner.gd @@ -247,11 +247,6 @@ func continue_to_next_level() -> bool: # 停点空候选消化(池空=三选一环节整体跳过——呈现层跳开选择面;编排归停点件) # ---- 提升三选一(选择停点零自动推进、重复兑付被拒;兑付恰一件、未选项零生效)---- -# 候选令牌匹配(身份键恒等——属性加成型特性 kind+tier、规则改写型特性 feat_id) -func _find_token(candidates: Array, kind: String, tier: String, feat_id: String = "") -> Dictionary: - return _curio.find_token(candidates, kind, tier, feat_id) - - # 玩家点选兑付(state 守卫留应用层——编排归停点件;呈现层直调面 T5 改 stop()) # 特性持有集读面(效果接线/求值/摘要唯一取数口——副本防外部改写) func feats_held() -> Array: diff --git a/game/core/breakpoint_store.gd b/game/core/breakpoint_store.gd index 85af6d25..748dca72 100644 --- a/game/core/breakpoint_store.gd +++ b/game/core/breakpoint_store.gd @@ -208,17 +208,6 @@ func _bp_strategy(key: String) -> String: return String((BREAKPOINT_FIELDS.get(key, {}) as Dictionary).get("strategy", "plain")) -# 数值类读侧(clamp 夹 ≥0 / params_fallback 断点缺键回退参数面整额注入 / plain 直取) -func _bp_read_int(key: String, bp: Dictionary, fallback: int, params: Dictionary = {}) -> int: - match _bp_strategy(key): - "clamp": - return maxi(0, int(bp.get(key, fallback))) - "params_fallback": - return maxi(0, int(bp.get(key, int(params.get(key, fallback))))) - _: - return int(bp.get(key, fallback)) - - # ---- 断点域六成员公开读写面(5.1 封装修复——宿主私取清零:方法体一律一行转发自有成员,零逻辑增量)---- # 断点承载注入(宿主构造后接线——save_manager 后绑) diff --git a/game/core/curio_stop.gd b/game/core/curio_stop.gd index fdaaa76a..a44bb4b0 100644 --- a/game/core/curio_stop.gd +++ b/game/core/curio_stop.gd @@ -300,11 +300,6 @@ func curio_stop_pending() -> bool: return not _pending.is_empty() or not _node_pending.is_empty() -# 放行谓词(宿主关序受理——已兑付待推进且无在途停点) -func stop_resolved() -> bool: - return not _resolved.is_empty() and _pending.is_empty() - - func _refresh_curio_common(paid: bool) -> bool: if not curio_stop_pending(): return false diff --git a/game/core/effect_engine.gd b/game/core/effect_engine.gd index cc0238bb..33d3a725 100644 --- a/game/core/effect_engine.gd +++ b/game/core/effect_engine.gd @@ -200,18 +200,6 @@ func _push_trigger(source: String, id: String, tr: Dictionary, row: Dictionary) _triggers.append(t) -## 订阅查询面(发射点缺省行为仲裁用——round_end 走 RAP 转存) -func has_effect_on(event: String, kind: String, mode: String = "") -> bool: - for tr in _triggers: - if String(tr.on) != event: - continue - var d: Dictionary[Variant, Variant] = tr.do - if String(d.get("kind", "")) == kind and (mode == "" or String(d.get("mode", "")) == mode): - # 有 when 时不能预判命中(发射点缺省行为保守按「可能命中」计——命中由 dispatch 定夺) - return true - return false - - ## 事件分发(发射点唯一入口):返回命中效果列表(装载序=声明序;零命中=空数组零扰动)。 ## ctx = 四桶引用束(引擎不自持状态,计数器读写全经 ctx); ## payload = 事件现场(fact 取值第一优先源);facts = 补充事实面(运行态读数 Callable)。 diff --git a/game/presentation/modal_stack.gd b/game/presentation/modal_stack.gd index bb0d1d2c..1d0c0f1c 100644 --- a/game/presentation/modal_stack.gd +++ b/game/presentation/modal_stack.gd @@ -9,7 +9,7 @@ var _occluded := {} # modal → 被其隐藏的上方层(关闭恢复) var _tags := {} # modal → 排除组标签集(互斥域随层登记) # 排除组封闭词表(组合根登记用——新标签=改此处+评审,防调用点拼装回潮) -const TAG_NON_LOCKING := "non_locking" # 开态不计入棋盘输入锁与角标置灰(调试浮窗默认开×遮挡复活×has_open 组合=棋盘永久锁死) +const TAG_NON_LOCKING := "non_locking" # 开态不计入棋盘输入锁与角标置灰(调试浮窗默认开×遮挡复活×开态计入输入锁的组合=棋盘永久锁死) const TAG_SCREEN_STATE := "screen_state" # 常驻屏态(关卡地图屏——自身开态不计入本屏角标判据) @@ -53,18 +53,9 @@ func close(m: Control) -> void: _occluded.erase(m) -# 开态查询(组合根输入锁唯一判据:登记册上是否有任一层处于开态; -# 可见性即开态,与 open/close 记账同源——组合根不再手工罗列各层) -func has_open() -> bool: - for m in _list: - if is_instance_valid(m) and m.visible: - return true - return false - - # 排除组开态查询(模态协议内聚:排除语义随层登记(register tags), # 查询按组名集合表达,禁在调用点拼装 has_open_excluding/has_open_excluding_any。 -# 只读查询零副作用——登记序/开合记账语义不变;空标签集=全计(与 has_open 同形)。 +# 只读查询零副作用——登记序/开合记账语义不变;空标签集=全计。 func has_open_excluding_tags(exclude_tags: Array) -> bool: for m in _list: if is_instance_valid(m) and m.visible: diff --git a/game/presentation/views/camp_scene_view.gd b/game/presentation/views/camp_scene_view.gd index 921a7a1c..9ba77cc2 100644 --- a/game/presentation/views/camp_scene_view.gd +++ b/game/presentation/views/camp_scene_view.gd @@ -2,7 +2,7 @@ ## 布局唯一事实源 = db.presentation.camp_scene_layout(构造注入,本视图禁自载表路径); ## 子节点序 = 表内数组序 = z 序(Control 根+TextureRect 层——禁 CanvasLayer/z_index/Sprite2D)。 ## 输入单点:根 _gui_input 集中命中判定(层节点全 IGNORE),点击只发 object_pressed 信号,路由归组合根。 -## 零核心写调用:视图不读 MetaProgression,禁用态由组合根经 set_feedback_state 推送。 +## 零核心写调用:视图不读 MetaProgression,禁用态经 _apply_state 自持基态面呈现。 class_name CampSceneView extends Control @@ -85,13 +85,6 @@ func get_hotspot_rect(key: StringName) -> Rect2: return rect -func set_feedback_state(key: StringName, state: FeedbackState) -> void: - if not _base_states.has(key): - return - _base_states[key] = state # 持久基态只收 NORMAL/DISABLED;HOVER/PRESSED 为视图内瞬态 - _apply_state(key, _base_state(key)) - - func set_hud_band(band: Control) -> void: if _hud_slot != null: _hud_slot.add_child(band)