Unity代码与资源绑定
本页合并旧Unity代码、Scene/Prefab与资源绑定规范的有效技术内容。原稿没有证明这些条目已经全部覆盖当前代码;这里保留可用约束并按现有框架解释,不要求为迁移文档重构游戏。源码规范、目录与生命周期以所属仓库当前实现和任务实际需要为证据,不能把历史风格当作免于判断的理由。
命名与组织
类/接口使用PascalCase,接口以I开头,脚本文件与主类相符;方法以动作表达,异步入口明确Async语义;枚举项PascalCase。私有字段可用_camelCase,公开/序列化字段遵守现有Inspector绑定与代码生成约定,避免只为形式重命名破坏绑定。常量选择项目现用统一形式,布尔项以Is/Has/Can/Should表达。
Controller/View/Model/Service等后缀说明职责而非要求为每个功能新增一层。每文件围绕一个主类;运行时、UI、数据、服务、编辑器代码分清责任,具体目录沿用真实仓库布局,不强制重建为旧稿Runtime/UI/Data/Services示例。一次性脚本和测试占位不混入正常运行目录。
UI字段名应帮助定位Text/Icon/Image/Button/Audio绑定,但优先保留当前生成工具能稳定识别的命名。语言key来自语言表/配置,避免业务显示文本散落硬编码。
生命周期、事件与异步
初始化阶段做字段准备与引用缓存,避免在Awake或单帧Start里发起无界重计算/资源加载。帧循环仅保留确需每帧执行的工作;事件注册和注销成对,防止重复监听、匿名回调失联和页面关闭后的悬挂更新。
Unity组件可使用OnEnable/OnDisable、OnDestroy;项目UI框架有OnOpen/OnClose时使用其真实生命周期。旧稿“一律在OnEnable绑定按钮”不能覆盖框架差异;关键是绑定一次并在对应生命周期正确释放,不在Update里反复设置onClick/onValueChanged。
异步用例明确取消条件、超时、失败反馈与恢复路径;需要取消的任务持有CancellationToken或等效状态,不能吞异常后当成功。关闭UI只取消展示/等待,不自动撤销服务端已提交业务。重试是否允许、是否复用操作身份由业务契约决定。
热路径与内存
避免每帧GameObject.Find/FindObject(s)OfType、重复GetComponent、大范围LINQ、ToList/ToArray、字符串拼接、大对象new、装箱及捕获大对象的闭包。必要组件预先缓存;集合在真实高频路径复用,不能因此为每个小列表强造对象池。异步资源请求有合理批量/并发范围,避免单帧集中实例化/销毁与材质切换。
Unity随机可用于纯表现;资产、抽奖等权威结算不能取客户端UnityEngine.Random结果作为可信依据。表现与业务状态分离,不能在动画结束回调自行重复扣费/领奖。
Prefab、场景和依赖
持久可复用资源以Prefab及明确源引用交付,避免用散落场景对象代替资产。根节点反映用途,职责聚焦;公共基体和皮肤/局部变体可用Prefab Variant,是否采用取决于复用收益,不把“所有不同皮肤必须Variant”当无条件规则。
- 纯展示节点不混入无关业务;可交互对象有明确控制和显示职责。
- Animator、ParticleSystem、AudioSource、Canvas与脚本绑定有具体用途,不随机挂载。
- 关键外部引用在Inspector或项目绑定工具中可见;使用显式序列化/注入,避免运行时按临时名称反射猜找。
- 场景/Prefab不保留New GameObject等无语义节点、待删除测试物体、运行路径内editor-only引用。
- 资源key/路径能追到源和调用者;同功能不保留两份同语义资源或旧新并行入口。
- 大纹理/音频/模型按加载生命周期组织;不为“层级更细”拆出没有实际消费者的碎片。
结构替换同时更新场景、Prefab、配置和代码引用并删除旧对象。引用迁移不保留默认兼容窗口。缺失引用要给出资源路径/字段名的可定位错误;可选装饰可以隐藏或占位,关键业务缺失必须显式失败,不能以静默返回掩盖无法操作。
日志和问题定位
可恢复业务错误记录原因和玩家反馈;关键错误包含必要的角色/关卡/配置/资源上下文,账号、设备、token等敏感信息脱敏。使用项目日志设施,避免业务print与自由拼接用户输入。重复组件、找不到目标、缺字段均应可定位,但本页不要求主动新增OnValidate脚本、测试钩子或运行时诊断平台。
新模块说明职责、配置依赖和Load/Enter/Exit/Dispose等关键生命周期即可;评审检查实际行为及资源引用,不用旧模板的固定“10分钟复现”代替证据。
来源与执行边界
来自旧 unity-coding-standard.md、unity-asset-binding-standard.md、scene-prefab-asset-standard.md。重复规则合并,删除强制新增单元测试骨架、版本测试、Prefab Integrity本地检查、兼容窗口和额外审批流程。
本次只整理文档,未改变源码/Prefab,未新增或扩写测试。本地验证:根据项目策略禁止执行。