80 lines
1.9 KiB
Markdown
80 lines
1.9 KiB
Markdown
# StrayFog 框架核心库保护规范
|
|
|
|
## 一、核心库定义
|
|
|
|
### 1.1 核心库范围(只读)
|
|
|
|
| 路径 | 说明 |
|
|
|------|------|
|
|
| `Assets/StrayFog/Core` | 基础框架核心 |
|
|
| `Assets/Game/GameHFScripte/CopyToHF` | 游戏核心业务框架 |
|
|
| `Assets/Game/GameGeneralScripte` | 通用工具层 |
|
|
|
|
---
|
|
|
|
## 二、保护规则
|
|
|
|
### 2.1 访问方式
|
|
|
|
**业务代码必须通过 `HFFunCatalogue` 统一入口访问核心库:**
|
|
|
|
```csharp
|
|
// ✅ 正确:通过统一入口访问
|
|
HFFunCatalogue.UIManager.OpenWindow<LoginWindow>();
|
|
HFFunCatalogue.Asset.LoadAsset<GameObject>("path");
|
|
HFFunCatalogue.Scene.LoadScene("MainScene");
|
|
|
|
// ❌ 禁止:直接访问核心库
|
|
HFUIWindowMgr.Instance.OpenWindow<LoginWindow>(); // 禁止
|
|
HFABMgr.Instance.LoadAsset<GameObject>("path"); // 禁止
|
|
```
|
|
|
|
### 2.2 禁止操作
|
|
|
|
| 禁止行为 | 后果 |
|
|
|---------|------|
|
|
| 修改核心库源代码 | 破坏框架稳定性 |
|
|
| 删除/重命名核心库文件 | 编译错误 |
|
|
| 直接实例化核心库内部类 | 违反封装原则 |
|
|
| 绕过 `HFFunCatalogue` 直接调用核心库单例 | 难以维护和测试 |
|
|
|
|
---
|
|
|
|
## 三、修改流程
|
|
|
|
```
|
|
业务人员发现问题/需求
|
|
│
|
|
▼
|
|
提交Issue到框架团队
|
|
│
|
|
▼
|
|
框架团队评估需求
|
|
│
|
|
┌────┴────┐
|
|
│ │
|
|
合理 不合理
|
|
│ │
|
|
▼ ▼
|
|
开发修复 反馈拒绝
|
|
│
|
|
▼
|
|
代码审查 → 发布新版本 → 业务团队更新引用
|
|
```
|
|
|
|
---
|
|
|
|
## 四、违规处理
|
|
|
|
| 等级 | 违规行为 | 处理方式 |
|
|
|-----|---------|---------|
|
|
| **轻微** | 误修改注释、空行 | 警告+恢复 |
|
|
| **一般** | 修改非核心逻辑 | 通报批评+代码回滚 |
|
|
| **严重** | 修改核心逻辑导致Bug | 绩效扣分+修复责任 |
|
|
| **重大** | 删除核心文件导致崩溃 | 追责+修复责任 |
|
|
|
|
---
|
|
|
|
**版本**: v1.0
|
|
**生效日期**: 2024年
|
|
**适用范围**: OnlineGame项目 |