This commit is contained in:
meishibiezb
2026-06-04 21:37:53 +08:00
parent b0d2a0e2e7
commit 29a3f77908
63 changed files with 4068 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
# 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)