AppGame 模块使用事件机制与其他系统进行松耦合交互。事件系统允许不同模块之间通过事件进行通信,而不需要直接依赖。
当 Protobuf 响应返回前触发此事件,允许其他系统在响应返回前进行处理或修改。
事件类:App\Module\AppGame\Events\ProtobufResponseEvent
触发时机:在 Protobuf::response 方法中,返回响应前
事件属性:
response:Protobuf 响应对象 (Uraus\Kku\Response)当用户成功登录时触发此事件,允许其他系统在用户登录后执行相关操作。
事件类:App\Module\AppGame\Events\LoginSuccessEvent
触发时机:在 LoginHandler::handle 方法中,用户成功登录后
事件属性:
user:登录的用户对象 (App\Module\User\Models\User)loginTime:登录时间戳sessionId:会话IDAppGame 模块提供了以下监听器:
通用的 Protobuf 响应事件监听器,记录响应信息。
监听器类:App\Module\AppGame\Listeners\ProtobufResponseListener
AppGame 模块特定的 Protobuf 响应事件监听器,处理 AppGame 模块特定的逻辑。
监听器类:App\Module\AppGame\Listeners\AppGameProtobufResponseListener
专门处理游戏相关的 Protobuf 响应事件监听器。
监听器类:App\Module\AppGame\Listeners\GameProtobufResponseListener
登录成功事件监听器,处理用户登录成功后的相关操作。
监听器类:App\Module\AppGame\Listeners\LoginSuccessListener