init
This commit is contained in:
32
Plugins/CharacterControl/_relationships.md
Normal file
32
Plugins/CharacterControl/_relationships.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# CharacterControl 插件依赖关系
|
||||
|
||||
## 文件间引用关系
|
||||
|
||||
| 源文件 | 引用方式 | 目标文件 | 目标单位 |
|
||||
|--------|---------|---------|---------|
|
||||
| CommandEndpoint.h | 定义(自包含) | GameplayTagContainer.h | FGameplayTagContainer |
|
||||
| CommandEndpoint.h | 定义(自包含) | InstancedStruct.h | FInstancedStruct |
|
||||
| CommandEndpoint.h | 定义(自包含) | —(自身) | FCommandMeta, FContinuousPayload, FCommandPacket, FDiscreteMeta, FEndpointState, UEndpointDispatcher, ICommandEndpoint, UCommandEndpoint |
|
||||
| CommandRouter.h | #include | CommandEndpoint.h | ICommandEndpoint, FCommandPacket, FEndpointState |
|
||||
| CommandRouterComponent.h | #include | CommandEndpoint.h | ICommandEndpoint, FCommandPacket, FEndpointState |
|
||||
| CommandRouterComponent.h | #include | CommandRouter.h | UCommandRouter |
|
||||
| CommandRouterComponent.cpp | #include | CommandRouterComponent.h | UCommandRouterComponent |
|
||||
| EndpointComponent.h | #include | CommandEndpoint.h | ICommandEndpoint, UCommandEndpoint, FEndpointState, FCommandPacket, UEndpointDispatcher |
|
||||
| CommandInputComponent.h | #include | EndpointComponent.h | UEndpointComponent |
|
||||
| CommandInputComponent.h | 前向声明 | — | UInputCommandData, UEnhancedInputComponent, FInputCommand |
|
||||
| CommandInputComponent.cpp | #include | InputCommandData.h | UInputCommandData, FInputCommand |
|
||||
| CommandInputComponent.cpp | #include | EnhancedInputComponent.h | UEnhancedInputComponent |
|
||||
| CommandInputComponent.cpp | #include | EnhancedInputSubsystems.h | UEnhancedInputLocalPlayerSubsystem |
|
||||
| CommandInputComponent.cpp | #include | InputAction.h | UInputAction |
|
||||
| InputCommandData.h | #include | CommandEndpoint.h | FCommandMeta, FContinuousPayload, FDiscreteMeta |
|
||||
| InputCommandData.h | 前向声明 | — | UInputAction |
|
||||
|
||||
## 关键依赖链
|
||||
|
||||
1. Input to Command: Enhanced Input → UCommandInputComponent::BuildPacket → FInputCommand (from UInputCommandData) → FCommandPacket → OnCommandOutput delegate
|
||||
2. Command Routing: FCommandPacket → UCommandRouter::ReceiveCommand (hop check) → RouteDiscreteCommand/RouteContinuousCommand → IsEndpointMatched → child ICommandEndpoint::ReceiveCommand
|
||||
3. Upward Propagation: child endpoint outputs → UCommandRouter::OnRegisteredEndpointOutputCommand → if bIsUpward → re-inject locally + forward upward
|
||||
4. State Change Propagation: child endpoint state changes → UCommandRouter::OnRegisteredEndpointStateChanged → tag aggregation update → CommitTagsToInterest
|
||||
5. Auto-Wiring: UCommandRouterComponent::BeginPlay → AutoRegisterEndpoints → discovers sibling ICommandEndpoint on owner Actor → RegisterEndpoint
|
||||
6. Endpoint Auto-Registration: UEndpointComponent::BeginPlay → finds sibling UCommandRouterComponent → self-registers with InternalRouter
|
||||
7. Blueprint Endpoint Pattern: ICommandEndpoint (BP implementation) → GetEndpointDispatcher_BP → UEndpointDispatcher → delegates broadcast to C++ observers
|
||||
Reference in New Issue
Block a user