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

2.0 KiB

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)