Files
loneseDocument/Source/lonese/_relationships.md
meishibiezb 29a3f77908 init
2026-06-04 21:44:13 +08:00

30 lines
2.0 KiB
Markdown

# lonese 模块依赖关系
## 文件间引用关系
| 源文件 | 引用方式 | 目标文件 | 目标单位 |
|--------|---------|---------|---------|
| MyCharacter.h | #include | GameFramework/Character.h | ACharacter |
| MyCharacter.h | forward-declare | -- | UInputMappingContext |
| MyCharacter.h | forward-declare | -- | UInputAction |
| MyCharacter.h | forward-declare | -- | ACameraPawn |
| MyCharacter.cpp | #include | MyCharacter.h | AMyCharacter |
| MyCharacter.cpp | #include | CameraPawn.h | ACameraPawn |
| MyCharacter.cpp | #include | EnhancedInputSubsystems.h | UEnhancedInputLocalPlayerSubsystem |
| MyCharacter.cpp | #include | EnhancedInputComponent.h | UEnhancedInputComponent |
| MyCharacter.cpp | #include | GameFramework/CharacterMovementComponent.h | UCharacterMovementComponent |
| CameraPawn.cpp | #include | CameraPawn.h | ACameraPawn |
| CameraPawn.cpp | #include | GameFramework/SpringArmComponent.h | USpringArmComponent |
| CameraPawn.cpp | #include | Camera/CameraComponent.h | UCameraComponent |
| CameraPawn.cpp | #include | InputActionValue.h | FInputActionValue |
| MyPlayerController.cpp | #include | MyPlayerController.h | AMyPlayerController |
| MyActor.cpp | #include | MyActor.h | AMyActor |
## 关键依赖链
1. Character Movement: Enhanced Input -> AMyCharacter::SetupPlayerInputComponent -> binds Move/Run/Crouch actions -> AMyCharacter::Move/BeginRun/StopRun/BeginCrouch/StopCrouch
2. Camera Control: Enhanced Input -> AMyCharacter -> CameraMove/CameraZoom/CameraRotate/CameraReset -> forwards to ACameraPawn methods
3. Camera View: AMyCharacter::BeginPlay -> spawns ACameraPawn (deferred) -> ACameraPawn::BeginPlay -> SetViewTarget(self) on PlayerController + AttachToActor(FollowTarget)
4. Camera Override: AMyPlayerController::CalcCamera -> calls AActor::CalcCamera (bypassing default view target blending) -> camera driven by ACameraPawn transform
5. Possession: AMyPlayerController::AcknowledgePossession -> Super + OnClientPossessFinished (BlueprintImplementableEvent in BP_TestCtl)