# CommonFramework **Repository Path**: WaittingForWind_admin/common-framework ## Basic Information - **Project Name**: CommonFramework - **Description**: 基于Unity的通用游戏框架 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-30 - **Last Updated**: 2025-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Csharp, Unity ## README # CommonFramework ## 介绍 基于Unity的通用游戏框架,以PC和主机需求出发 - 开发版本:Unity 6000.1.14f - 目标游戏:参考游戏功能(参考游戏《鬼谷八荒》、《觅长生》、《大侠立志传》) - 框架目标:实现基础游戏常见的通用处理方案,适配于PC、Android以及其它主机平台。 ## 目录结构 Art:美术资源 - Basic:原始美术资源 - Root:Unity中创建的资源 Editor:编辑器下使用的脚本 & 资源 Scripts:代码脚本 - Core:多为可以复用的基础功能,如数学库、资源管理 - Dependence:外部依赖库 - Editor:编辑器代码 - Logic:游戏逻辑业务 - PlayEditor:编辑器运行时逻辑 --------------------------------------------------------------- ## 框架开发内容(2023.07.30) - SystemManager - 日志系统 - 资源管理(运行时、编辑器;AssetBundle、NativeFile) - 对象池(游戏资源、栈对象) - 事件系统:及时、延迟;功能分层 - 计时器 - 数据流 - 业务系统 - UI管理器 - UI界面、组件 - UI配置工具链 - MVVM - 导表工具链 - 动画管理器 - 特效管理器 - 场景管理器 - Input管理器 - 音频管理器 - FMS - CTS : Timeline - 地形 & 寻路(A* & NavMesh) - 网络层: 连接 & 数据序列化 & 反序列化 --------------------------------------------------------------- ## 代码规范 `编码规范部分参考`[.Net框架设计规范][DotNetGuidelines] | 数据字段 | 命名方式 | 实例 | | ------------- | -------- | ----------------------------------------- | | Namespace | Pascal | `namespace System.Security { ... }` | | Type | Pascal | `public class StreamReader { ... }` | | Interface | Pascal | `public interface IEnumerable { ... }` | | Method | Pascal | `public virtual string ToString()` | | Property | Pascal | `public int Length { get; }` | | Public Field | Pascal | `public int Min = 0;` | | Private Field | Pascal | `private int min = 0;` | | Boolean Field | "Is", "Can", "Has" 开头 | `private int isConnected = false;` | | Enum | Pascal | `public enum FileMode {Append,...}` | | Parameter | Camel | `public static int ToInt32(string value)` | | Macro | Upper | `UNITY_EDITOR` | | Delegate & Event | Pascal | `public deleget void ResourceLoadEventHander();`

`public event ResourceLoadEventHander OnResourceLoad;` | - 换行符:\n - 文本编码格式:UTF-8 - 使用4个空格替换制行符 - 路径拼接使用Path.Combine处理,避免跨平台问题 - 定义枚举元素时,明确标记枚举值,禁止使用默认值 ``` Csharp x Debug.Log($"{dir}/{filename}") √ Debug.LogFormat("{0}/{1}", dir, filename) √ 标记 public enum PathState { Created = 0, PathQueue = 1, Processing = 2, ReturnQueue = 3, Returned = 4 } ``` [DotNetGuidelines]: https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions --------------------------------------------------------------- ## 其它规范 - 资源名称和路径尽可能简洁,避免过长路径在windows平台异常 --------------------------------------------------------------- ## 测试单元 所有基础功能都需要提供测试单元,保证基础功能的完整性。 打包时需要移除测试代码的编译。