From f3aa8824d8379f324353816af3a32e6deb1769e6 Mon Sep 17 00:00:00 2001 From: feng Date: Tue, 17 Dec 2024 10:03:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Books/1-快速开始.md | 49 ++++++++++++++++++++++++------------------- Books/2-框架概览.md | 18 +++++++--------- Books/3-7-流程模块.md | 5 ++++- README.md | 16 ++++++++------ 4 files changed, 49 insertions(+), 39 deletions(-) diff --git a/Books/1-快速开始.md b/Books/1-快速开始.md index b7644f02..7426159d 100644 --- a/Books/1-快速开始.md +++ b/Books/1-快速开始.md @@ -13,11 +13,12 @@ ![image](src/1-2.png) ### 4.打包运行 - * 1.运行菜单 HybridCLR/Define Symbols/Enable HybridCLR 运行开启HybridCLR热更新 - * 2.运行菜单 HybridCLR/Generate/All 进行必要的生成操作。这一步不可遗漏!!! - * 3.运行菜单 HybridCLR/Build/BuildAssets And CopyTo AssemblyPath,生成热更新dll并copy到热更程序集中。 - * 4.运行菜单 YooAsset/AssetBundle Builder 构建AB - * 5.打开Build Settings对话框,点击Build And Run,打包并且运行热更新示例工程。 + * 1.运行菜单 HybridCLR/Install... 安装HybridCLR,每次更新HybridCLR版本需要重新执行一次安装。 + * 2.运行菜单 HybridCLR/Define Symbols/Enable HybridCLR 运行开启HybridCLR热更新。 + * 3.运行菜单 HybridCLR/Generate/All 进行必要的生成操作。这一步不可遗漏!!! + * 4.运行菜单 HybridCLR/Build/BuildAssets And CopyTo AssemblyPath,生成热更新dll并copy到热更程序集中。 + * 5.运行菜单 YooAsset/AssetBundle Builder 构建AB。 + * 6.打开Build Settings对话框,点击Build And Run,打包并且运行热更新示例工程。 ### 遇到问题请查看HybridlCLR的常见错误(commonerrors) @@ -33,26 +34,30 @@ ### 目录结构 ``` Assets -├── AssetRaw 资源目录 -├── Atlas 图集目录 -├── GameScripts 热更程序集目录 -├── Scenes 主场景目录 -└── TEngine - ├── AssetSetting YooAsset资源设置 - ├── Editor TEngine-Editor程序集 - └── Runtime TEngine-Runtime程序集 +├── AssetArt // 美术资源目录 +│ └── Atlas // 自动生成图集目录 +├── AssetRaw // 热更资源目录 +│ ├── UIRaw // UI图片目录 +│ │ ├── Atlas // 需要自动生成图集的UI素材目录 +│ │ └── Raw // 不需要自动生成图集的UI素材目录 +├── Editor // 编辑器脚本目录 +├── HybridCLRData // hybridclr相关目录 +├── Scenes // 主场景目录 +├── GameScripts // 程序集目录 +└── TEngine // 框架核心目录 + ├── AssetSetting // YooAsset资源设置 + ├── Editor // TEngine-Editor程序集 + └── Runtime // TEngine-Runtime程序集 ``` ### 热更新程序集划分 ``` Assets/GameScripts -├── Editor 编辑器程序集 -├── HotFix 游戏热更程序集目录 [Folder] -| ├── GameBase 游戏基础框架程序集 [Dll] -| ├── GameProto 游戏配置协议程序集 [Dll] -| ├── BattleCore 游戏核心战斗程序集 [Dll] -| └── GameLogic 游戏业务逻辑程序集 [Dll] -| ├── GameApp.cs 热更主入口 -| └── GameApp_RegisterSystem.cs 热更主入口注册系统 -└── Runtime Runtime程序集 +├── Main // 主程序程序集(启动器与流程) +└── HotFix // 游戏热更程序集目录 [Folder] + ├── GameBase // 游戏基础框架程序集 [Dll] + ├── GameProto // 游戏配置协议程序集 [Dll] + └── GameLogic // 游戏业务逻辑程序集 [Dll] + ├── GameApp.cs // 热更主入口 + └── GameApp_RegisterSystem.cs // 热更主入口注册系统 ``` \ No newline at end of file diff --git a/Books/2-框架概览.md b/Books/2-框架概览.md index 4f21cd67..26b45633 100644 --- a/Books/2-框架概览.md +++ b/Books/2-框架概览.md @@ -51,17 +51,15 @@ public abstract class Module : MonoBehaviour ## 热更域程序集设计与说明 ``` Assets/GameScripts -├── Editor 编辑器程序集 -├── HotFix 游戏热更程序集目录 [Folder] -| ├── GameBase 游戏基础框架程序集 [Dll] -| ├── GameProto 游戏配置协议程序集 [Dll] -| ├── BattleCore 游戏核心战斗程序集 [Dll] -| └── GameLogic 游戏业务逻辑程序集 [Dll] -| ├── GameApp.cs 热更主入口 -| └── GameApp_RegisterSystem.cs 热更主入口注册系统 -└── Runtime Runtime程序集 +├── Main // 主程序程序集(启动器与流程) +└── HotFix // 游戏热更程序集目录 [Folder] + ├── GameBase // 游戏基础框架程序集 [Dll] + ├── GameProto // 游戏配置协议程序集 [Dll] + └── GameLogic // 游戏业务逻辑程序集 [Dll] + ├── GameApp.cs 热更主入口 + └── GameApp_RegisterSystem.cs 热更主入口注册系统 ``` -游戏内主要玩法逻辑包括UI会在GameLogic中编写,GameBase则存放一些通用性的逻辑,GameProto存放与服务区交互的协议以及配置表逻辑,BattleCore为帧同步分离的逻辑层做预留。若有项目需求完全可以进行自定义增删HotFix程序集。 +游戏内主要玩法逻辑包括UI会在GameLogic中编写,GameBase则存放一些通用性的逻辑,GameProto存放与服务区交互的协议以及配置表逻辑。若有项目需求完全可以进行自定义增删HotFix程序集。 PS:注意增删程序集后需要同步到HybridClr的Setting面板以及TEngineSetting的面板。TEngineSettings面板有按钮可以从HybridClr中同步AOT与热更程序集。 diff --git a/Books/3-7-流程模块.md b/Books/3-7-流程模块.md index dfee91d9..4999aa9b 100644 --- a/Books/3-7-流程模块.md +++ b/Books/3-7-流程模块.md @@ -6,6 +6,8 @@ ### ProcedureInitPackage - 流程初始化Package +### ProcedurePreload - 流程预加载 + ### ProcedureInitResources - 流程初始化Resources ### ProcedureUpdateVersion - 流程更新版本Version @@ -20,5 +22,6 @@ ### ProcedureClearCache - 流程清理缓存 +### ProcedureLoadAssembly - 流程加载进入热更新程序集 -### ProcedureLoadAssembly - 流程加载进入热更新程序集 \ No newline at end of file +### ProcedureStartGame - 流程开始游戏 \ No newline at end of file diff --git a/README.md b/README.md index 3af596ae..27817a4c 100644 --- a/README.md +++ b/README.md @@ -64,20 +64,24 @@ Net Core现在已经更新到了8.0的版本,在性能和设计上其实是远 ## 项目结构概览 ``` Assets +├── AssetArt // 美术资源目录 +│ └── Atlas // 自动生成图集目录 ├── AssetRaw // 热更资源目录 -├── Atlas // 自动生成图集目录 +│ ├── UIRaw // UI图片目录 +│ │ ├── Atlas // 需要自动生成图集的UI素材目录 +│ │ └── Raw // 不需要自动生成图集的UI素材目录 +├── Editor // 编辑器脚本目录 ├── HybridCLRData // hybridclr相关目录 +├── Scenes // 主场景目录 ├── TEngine // 框架核心目录 └── GameScripts // 程序集目录 - ├── Editor // 编辑器程序集 ├── Main // 主程序程序集(启动器与流程) └── HotFix // 游戏热更程序集目录 [Folder] ├── GameBase // 游戏基础框架程序集 [Dll] - ├── GameProto // 游戏配置协议程序集 [Dll] - ├── BattleCore // 游戏核心战斗程序集 [Dll] + ├── GameProto // 游戏配置协议程序集 [Dll] └── GameLogic // 游戏业务逻辑程序集 [Dll] ├── GameApp.cs // 热更主入口 - └── GameApp_RegisterSystem.cs // 热更主入口注册系统 + └── GameApp_RegisterSystem.cs // 热更主入口注册系统 TEngine @@ -86,7 +90,7 @@ TEngine ``` - 必要:项目使用了以下第三方插件,请自行购买导入: - - /Unity/Assets/Plugins/Sirenix + - /UnityProject/Assets/Plugins/Sirenix --- ## 优质开源项目推荐