# BP_SayHello ## 基本信息 - **类型**: Blueprint (ActorComponent) - **父类**: UEndpointComponent - **源文件**: /Game/Blueprints/Component/BP_SayHello.BP_SayHello - **模块**: Content ## 功能概述 BP_SayHello 是一个简单的测试/调试端点组件,用于验证 CharacterControl 指令路由系统是否正常工作。它没有任何自定义变量,仅覆盖 OnCommandReceived 事件输出 Hello 日志或消息。 ## 设计用意 作为 CharacterControl 插件的最小化端点实现示例,BP_SayHello 验证了从 EnhancedInput 到端点响应的全链路:EnhancedInput 产生输入动作,UCommandInputComponent 生成 FCommandPacket,UCommandRouter 进行标签匹配路由,最终到达 BP_SayHello 的 OnCommandReceived 并执行响应。它同时也可作为新端点的参考实现模板。 ## 职责范围 BP_SayHello 负责验证指令路由系统的端到端工作流程,并作为新端点的参考实现。它的处理逻辑极简(输出日志),不涉及任何业务逻辑。 ## 项目内依赖 | 依赖项 | 关系 | 源文件 | |--------|------|--------| | UEndpointComponent | 父类 | CharacterControl 插件 | ## 对外接口 - **继承自 UEndpointComponent 的接口**: - `EndpointState` (FEndpointState) -- 端点状态,含 `InterestedTags` 配置关注的指令标签 - `OnCommandReceived(const FCommandPacket& Command)` (BlueprintImplementableEvent) -- 收到匹配指令时调用,在 EventGraph 中实现(4 个事件、27 个节点) - `OnEndpointStateChanged` -- 状态变化委托 - `OnCommandOutput` -- 命令输出委托 - **无自定义蓝图变量**:纯行为型组件,不暴露状态数据 ## 使用方法 - 作为 ActorComponent 添加到 BP_TestChar,用作测试端点 - 配置 `EndpointState.InterestedTags` 添加测试用 GameplayTag(如 "Command.SayHello") - `OnCommandReceived` 事件在蓝图 EventGraph 中实现:收到指令后输出调试日志或 Hello 消息 - 配合 EnhancedInput 的测试输入动作使用: 1. EnhancedInput 产生输入 -> UCommandInputComponent 生成 FCommandPacket 2. UCommandRouterComponent 按标签匹配路由到本组件 3. OnCommandReceived 触发,输出日志 - 可作为新端点的实现模板:仅需在蓝图 EventGraph 中覆盖 `OnCommandReceived` 实现自定义行为 ## 用例 - BP_TestChar 的组件,验证 CharacterControl 指令路由系统的端到端工作流程 - 当 EnhancedInput 绑定到 "Command.SayHello" 指令时,输出响应消息