mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
更新文档
更新文档
This commit is contained in:
@@ -23,7 +23,7 @@ TEngine是一套用于Unity框架解决方案,用于帮助研发团队快速
|
||||
开箱即用、用法简洁,即用即上手.高可读性和详细的文档说明帮助你更快更好的进行游戏开发。您不需要关心框架的底层,分离独自实现您的GamePlay。
|
||||
|
||||
### 性能强大
|
||||
TEngine 底层使用多线程管理与线程间的通信以及事件分发,可插件定制化,把复杂游戏简单化切以高性能、低耦合度实现。
|
||||
TEngine 底层使用基于UniTask的异步以及事件分发,可插件定制化,把复杂游戏简单化切以高性能、低耦合度实现。
|
||||
|
||||
### 高内聚低耦合
|
||||
内嵌了The Best 次时代热更新解决方案<a href="https://github.com/focus-creative-games/hybridclr"><strong>HybridCLR</strong></a>、百万DAU验证的资源解决方案<a href="https://github.com/tuyoogame/YooAsset"><strong>YooAsset</strong></a>
|
||||
内嵌了The Best 次时代热更新解决方案<a href="https://github.com/focus-creative-games/hybridclr"><strong>HybridCLR</strong></a>、百万DAU验证的资源解决方案<a href="https://github.com/tuyoogame/YooAsset"><strong>YooAsset</strong></a>、你的游戏最佳配置解决方案<a href="https://github.com/focus-creative-games/luban"><strong>Luban</strong></a>
|
||||
|
@@ -63,7 +63,7 @@ Assets/GameScripts
|
||||
```
|
||||
游戏内主要玩法逻辑包括UI会在GameLogic中编写,GameBase则存放一些通用性的逻辑,GameProto存放与服务区交互的协议以及配置表逻辑,BattleCore为帧同步分离的逻辑层做预留。若有项目需求完全可以进行自定义增删HotFix程序集。
|
||||
|
||||
PS:注意增删程序集后需要同步到HybridClr的Setting面板以及TEngineSetting的面板。
|
||||
PS:注意增删程序集后需要同步到HybridClr的Setting面板以及TEngineSetting的面板。TEngineSettings面板有按钮可以从HybridClr中同步AOT与热更程序集。
|
||||
|
||||
## 常用模块接口
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
## 3-1.资源模块 - ResourceModule
|
||||
|
||||
#### 资源模块默认使用Addressable可寻址定位。(!注意需要打包的资源不可以重名)
|
||||
|
||||
资源模块运行模式有EditorSimulateMode、OfflinePlayMode以及HostPlayMode
|
||||
编辑器模式下以顶部导航栏的选项卡为优先选项,打包后以Scene场景中ResourceModule脚本的Enum选项卡为优先选项(打包后不会走EditorSimulateMode)
|
||||
|
||||
@@ -18,7 +21,9 @@ Menu窗口TEngineSetting可以设置一些资源模块的热更新设置,比
|
||||
* ArcCacheTable (Adaptive Replacement Cache缓存表)
|
||||
|
||||
## 加载资源示范
|
||||
注意!资源模块默认使用Addressable可寻址定位。传入资源名字无需后缀即可!!
|
||||
``` csharp
|
||||
|
||||
//同步加载。
|
||||
GameModule.Resource.LoadAsset<SkillDisplayData>(location);
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
## 3-2.事件模块 - GameEvent
|
||||
# 3-2.事件模块 - GameEvent
|
||||
高效且无GC的事件系统GameEvent,可以指定事件ID/事件String监听和分发事件。通过事件来驱动模块,如战斗的角色身上的事件流、UI和网络以及Model的数据流、开发中的绝大部分情况都可以通过事件来进行驱动。(配合UI模块或者拓展的战斗模块实现MVE[Model - View - Event]事件驱动架构)
|
||||
|
||||
事件模块支持string和int作为事件Id,但推荐是使用int因为可以避免事件字典的哈希碰撞。这里实现了StringId.StringToHash的方法来定义事件ID达到事件系统的最佳性能。
|
||||
|
@@ -1,4 +1,4 @@
|
||||
## 3-3.内存池模块 - MemoryPool
|
||||
# 3-3.内存池模块 - MemoryPool
|
||||
内存池更为轻量化,相对于对象池更适合一些更抽象碎片化的内存对象。
|
||||
|
||||
Scene窗口MemoryPool对象可以设置内存池检查,防止回收问题与内存泄漏问题。
|
||||
|
@@ -1,4 +1,4 @@
|
||||
## 3-4.对象池模块 - ObjectModule
|
||||
# 3-4.对象池模块 - ObjectModule
|
||||
对象池较中量级,在客户端开发中是一个经常使用的技术,技术点我相信大家都懂,这里不过多讨论。
|
||||
|
||||
使用案例
|
||||
|
@@ -1,11 +1,11 @@
|
||||
## 3-5.UI模块 - UIModule
|
||||
# 3-5.UI模块 - UIModule
|
||||
一个游戏70%都是UI,剩下30%才是GamePlay,所以有一套简洁强大的商业化UI模块以及UI开发工作流将是项目的一大利器,能够提高至少一倍的开发效率。(配合事件模块实现MVE[Model - View - Event]事件驱动架构)
|
||||
|
||||
UI脚本为纯C#实现,脱离Mono的生命周期,由UIModule的帧更新驱动并管理UI的生命周期。
|
||||
|
||||
IUIBehaviour为UI通用行为接口、UIBase为UI基类、UIWindow为UI窗口基类,UIWidget为UI组件基类。
|
||||
|
||||
### 前期配置:
|
||||
## 前期配置:
|
||||
注意!!!!m_item节点为特殊节点表示是UI下的UIWidget组件,不会继续往下遍历生成UI代码。若需要这个UIWidget组件m_item的代码则在m_item右键生成这个组件的UI脚本。
|
||||
|
||||
Scene窗口下右键ScriptGenerator菜单下About目录有默认UI命名前缀规范。
|
||||
@@ -22,7 +22,7 @@ Scene窗口下右键ScriptGenerator菜单下About目录有默认UI命名前缀
|
||||
|
||||
3.自行创建UI脚本到需要的目录下并复制UI脚本。
|
||||
|
||||
举例
|
||||
## 举例示范
|
||||
``` csharp
|
||||
// 同步打开面板
|
||||
GameModule.UI.ShowUI<GameMainUI>([nullable]userData);
|
||||
@@ -118,4 +118,9 @@ namespace GameLogic
|
||||
......
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
## UI进阶
|
||||
UI面板需要标记UIWindowAttribute,以标识层级(可以自行定义)和是否全屏。全屏面板则会把下层面板的Visible设置为false。
|
||||

|
||||
|
||||
|
@@ -1,8 +1,13 @@
|
||||
## 3-6.配置表模块 - ConfigLoader
|
||||
# 3-6.配置表模块 - ConfigLoader
|
||||
接入最佳游戏配置解决方案 - <a href="https://github.com/focus-creative-games/luban"><strong>Luban</strong></a>
|
||||
|
||||
<a href="https://luban.doc.code-philosophy.com/#/manual/traits"><strong>Luban文档 </strong></a>
|
||||
|
||||
### 在TEngine中Luban工具集位于以下目录
|
||||

|
||||
|
||||
TEngine内置默认使用懒加载配置,也支持基于UniTask的异步加载,同步加载,包括服务器的Task异步加载,使用对应转表的bat即可。
|
||||
|
||||
### 介绍
|
||||
luban是你的最佳游戏配置解决方案。
|
||||
|
||||
@@ -23,8 +28,6 @@ luban统一了游戏配置开发工作流,极大提升了策划和程序的工
|
||||
|
||||
|
||||
---
|
||||
### 在TEngine中Luban工具集位于以下目录
|
||||

|
||||
|
||||
使用案例
|
||||
``` csharp
|
||||
|
@@ -1,4 +1,4 @@
|
||||
## 7.流程模块 - ProcedureModule
|
||||
# 7.流程模块 - ProcedureModule
|
||||
|
||||
### ProcedureLaunch - 流程启动
|
||||
|
||||
|
@@ -1,2 +1,2 @@
|
||||
## 8.网络模块 - Network
|
||||
# 8.网络模块 - Network
|
||||
待补充
|
@@ -1,4 +1,4 @@
|
||||
# TEngine
|
||||
# TEngine各平台下运行
|
||||
|
||||
### 日志记录编辑器下运行
|
||||

|
||||
|
BIN
Books/src/3-5-5.png
Normal file
BIN
Books/src/3-5-5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 176 KiB |
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 40 KiB |
Reference in New Issue
Block a user