mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
Update README
Update README
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
Reference in New Issue
Block a user