Files
CursorInitGeneral/.cursor/rules/project/godot-scene-conventions.mdc

33 lines
1.6 KiB
Plaintext

---
description: Godot 场景节点组织、依赖、生命周期与用户文本约定
globs: "**/*.tscn"
alwaysApply: false
---
# Godot 场景与节点
## 场景组织
- 场景保持单一职责;可复用子结构拆成独立场景,并尽量能单独实例化验证。
- 场景拥有专用脚本时采用可对应的命名,例如 `entity_view.tscn` 与 `entity_view.gd`;不要求无脚本场景创建空脚本。
- 节点名称表达角色而非临时布局位置;不要依赖自动生成或易变化的名称作为跨场景契约。
- 重复子场景使用稳定的 `PackedScene` 引用;避免在运行热点反复同步加载资源。
## 节点依赖
- 场景内部的稳定子节点可用唯一节点名或局部路径引用。
- 外部依赖通过 `@export`、初始化方法或父级组装显式注入。
- 禁止硬编码场景树根路径或多级上溯路径来获取其他系统节点。
- 子节点向上报告事件使用信号;父节点向下调用明确方法。若项目已有总线,只用于真正跨系统的事件。
## 生命周期
- Node 释放使用 `queue_free()`;访问可能已释放的对象前检查有效性。
- 连接到长生命周期发射者的回调应在退出树时断开,或使用可随接收者失效的安全连接方式。
- `_process` 与 `_physics_process` 只做每帧必需工作;可事件驱动的更新不要轮询。
- 高频实例化是否使用对象池由性能测量决定,不预先为普通节点增加池化复杂度。
## 用户文本
用户可见文本集中在表现层,并接入项目已有本地化方案;不要在深层逻辑中硬编码最终文案。