# StrayFog 框架开发规范指南 ## 一、开发前准备 ### 1.1 核心概念理解 #### 1.1.1 框架层级关系 ``` ┌─────────────────────────────────────────────────────────────┐ │ 开发层级视图 │ ├─────────────────────────────────────────────────────────────┤ │ 业务层 (你开发的代码) │ │ ├── UI界面、业务逻辑、游戏数据 │ │ │ │ │ │ ┌───────────────────────────────────────────────────┐ │ │ │ │ 核心库 (只读,框架团队维护) │ │ │ │ │ ├── Core: 模拟行为、全局数据 │ │ │ │ │ ├── HF: 资源管理、事件系统、相机管理 │ │ │ │ │ └── General: 状态机、工具类 │ │ │ │ └───────────────────────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` #### 1.1.2 核心库访问原则 | 原则 | 说明 | |-----|-----| | **只读访问** | 核心库代码只可读取,不可修改 | | **接口优先** | 通过接口访问服务,而非直接实例化实现类 | | **继承扩展** | 通过继承抽象类实现自定义逻辑 | | **依赖注入** | 通过管理器获取实例,而非硬编码 | --- ## 二、业务代码结构 ### 2.1 目录组织规范 ``` Assets/Game/GameHFScripte/GameFunction/ ├── Event/ # 消息处理 │ ├── ServerToClient/ # 服务器到客户端消息 │ ├── ClientToClient/ # 客户端内部消息 │ └── Handle/ # 消息处理器 ├── GameRoot/ # 框架调用入口 │ ├── HFGameStart.cs # 热更新进入入口 │ ├── HFFunCatalogue.cs # 框架统一调用入口 │ ├── HFFunCatalogue_Function.cs # 功能调用方法 │ └── ... ├── HFDownLoadSubPackage/ # 分包下载 │ ├── HFSubPackageManager.cs # 分包管理器 │ ├── HFGameStartAssetsCheckManager.cs # 资源检查 │ └── ... ├── HFExtends/ # Class扩展方法 │ ├── UI/ # UI扩展 │ ├── Material/ # 材质扩展 │ ├── String/ # 字符串扩展 │ └── ... ├── Logic/ # 游戏主要业务逻辑(存放各功能Manager) │ ├── User/ # 用户相关 │ ├── Login/ # 登录系统 │ ├── Fight/ # 战斗系统 │ ├── CardDeck/ # 卡组系统 │ ├── Bag/ # 背包系统 │ └── ... ├── UIWindows/ # UI窗口业务逻辑 │ ├── Login/ # 登录窗口 │ ├── Lobby/ # 大厅窗口 │ ├── Fight/ # 战斗窗口 │ ├── Shop/ # 商店窗口 │ └── ... ├── GameEntity/ # 游戏实体 │ ├── Entity/ # 实体定义 │ ├── EntityPool/ # 实体对象池 │ └── ... ├── SoundManagerPro/ # 音效管理 ├── SceneManager/ # 场景管理 ├── SDK/ # SDK集成 └── MonoCompent/ # Mono组件 ``` ### 2.2 文件命名规范 | 文件类型 | 命名规则 | 示例 | |---------|---------|-----| | **窗口类** | `XXXWindow.cs` | `LoginWindow.cs` | | **组件类** | `XXXComponent.cs` | `ItemCellComponent.cs` | | **管理器类** | `XXXManager.cs` | `UIManager.cs` | | **数据类** | `XXXData.cs` | `PlayerData.cs` | | **配置类** | `XXXConfig.cs` | `SkillConfig.cs` | --- **版本**: v1.0 **生效日期**: 2026年 **适用范围**: GiftGameX项目业务开发人员