EventSystem.md 1.8 KB

AppGame 模块事件系统

概述

AppGame 模块使用事件机制与其他系统进行松耦合交互。事件系统允许不同模块之间通过事件进行通信,而不需要直接依赖。

事件列表

1. ProtobufResponseEvent

当 Protobuf 响应返回前触发此事件,允许其他系统在响应返回前进行处理或修改。

事件类App\Module\AppGame\Events\ProtobufResponseEvent

触发时机:在 Protobuf::response 方法中,返回响应前

事件属性

  • response:Protobuf 响应对象 (Uraus\Kku\Response)

2. LoginSuccessEvent

当用户成功登录时触发此事件,允许其他系统在用户登录后执行相关操作。

事件类App\Module\AppGame\Events\LoginSuccessEvent

触发时机:在 LoginHandler::handle 方法中,用户成功登录后

事件属性

  • user:登录的用户对象 (App\Module\User\Models\User)
  • loginTime:登录时间戳
  • sessionId:会话ID

监听器

AppGame 模块提供了以下监听器:

1. ProtobufResponseListener

通用的 Protobuf 响应事件监听器,记录响应信息。

监听器类App\Module\AppGame\Listeners\ProtobufResponseListener

2. AppGameProtobufResponseListener

AppGame 模块特定的 Protobuf 响应事件监听器,处理 AppGame 模块特定的逻辑。

监听器类App\Module\AppGame\Listeners\AppGameProtobufResponseListener

3. GameProtobufResponseListener

专门处理游戏相关的 Protobuf 响应事件监听器。

监听器类App\Module\AppGame\Listeners\GameProtobufResponseListener

4. LoginSuccessListener

登录成功事件监听器,处理用户登录成功后的相关操作。

监听器类App\Module\AppGame\Listeners\LoginSuccessListener