Update README

Update README
This commit is contained in:
ALEXTANGXIAO
2023-08-06 00:36:29 +08:00
parent 2107282368
commit efe3d2b25b
4 changed files with 54 additions and 6 deletions

View File

@@ -1,9 +1,11 @@
## 3-2.事件模块 - GameEvent
高效的事件系统GameEventMgr可以指定事件ID/事件String监听和分发事件。通过事件来驱动模块如战斗的角色身上的事件流、UI和网络以及Model的数据流、开发中的绝大部分情况都可以通过事件来进行驱动。(配合UI模块或者拓展的战斗模块实现MVE[Model - View - Event]事件驱动架构)
高效且无GC的事件系统GameEvent可以指定事件ID/事件String监听和分发事件。通过事件来驱动模块如战斗的角色身上的事件流、UI和网络以及Model的数据流、开发中的绝大部分情况都可以通过事件来进行驱动。(配合UI模块或者拓展的战斗模块实现MVE[Model - View - Event]事件驱动架构)
<strong>UI模块的事件和UI生命周期存在绑定销毁UI时可以自动移除UI所监听的事件。(AddUIEvent)</strong>
事件模块支持string和int作为事件Id但推荐是使用int因为可以避免事件字典的哈希碰撞。这里实现了StringId.StringToHash的方法来定义事件ID达到事件系统的最佳性能。
<strong>UI模块的事件和UI生命周期存在绑定销毁UI时可以自动移除UI所监听的事件,开发过程中只需要关心添加事件避免了关闭UI但没有移除事件监听的问题角色模块也可以参考实现。(AddUIEvent)</strong>
``` csharp
public static int Hellp = StringId.StringToHash("Hellp.Hellp");
public static readonly int Hellp = StringId.StringToHash("Hellp.Hellp");
class A
{