更新文档

更新文档
This commit is contained in:
ALEXTANG
2023-08-18 17:49:28 +08:00
parent bbea9c4cee
commit d6dcd8851c
14 changed files with 33 additions and 20 deletions

View File

@@ -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>

View File

@@ -63,7 +63,7 @@ Assets/GameScripts
```
游戏内主要玩法逻辑包括UI会在GameLogic中编写GameBase则存放一些通用性的逻辑GameProto存放与服务区交互的协议以及配置表逻辑BattleCore为帧同步分离的逻辑层做预留。若有项目需求完全可以进行自定义增删HotFix程序集。
PS注意增删程序集后需要同步到HybridClr的Setting面板以及TEngineSetting的面板。
PS注意增删程序集后需要同步到HybridClr的Setting面板以及TEngineSetting的面板。TEngineSettings面板有按钮可以从HybridClr中同步AOT与热更程序集。
## 常用模块接口

View File

@@ -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);

View File

@@ -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达到事件系统的最佳性能。

View File

@@ -1,4 +1,4 @@
## 3-3.内存池模块 - MemoryPool
# 3-3.内存池模块 - MemoryPool
内存池更为轻量化,相对于对象池更适合一些更抽象碎片化的内存对象。
Scene窗口MemoryPool对象可以设置内存池检查防止回收问题与内存泄漏问题。

View File

@@ -1,4 +1,4 @@
## 3-4.对象池模块 - ObjectModule
# 3-4.对象池模块 - ObjectModule
对象池较中量级,在客户端开发中是一个经常使用的技术,技术点我相信大家都懂,这里不过多讨论。
使用案例

View File

@@ -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。
![image](src/3-5-5.png)

View File

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

View File

@@ -1,4 +1,4 @@
## 7.流程模块 - ProcedureModule
# 7.流程模块 - ProcedureModule
### ProcedureLaunch - 流程启动

View File

@@ -1,2 +1,2 @@
## 8.网络模块 - Network
# 8.网络模块 - Network
待补充

View File

@@ -1,4 +1,4 @@
# TEngine
# TEngine各平台下运行
### 日志记录编辑器下运行
![image](src/Editor-RunSuccessed.png)

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