继承关系
APawn=》AActor&&INavAgentInterface
Actor=》UObject
APlayerController=》AController=》AActor
UActorComponent=>UObject&&IInterface_AssetUserData
常用接口
已知AController获得Pawn
APawn* pPawn = pController->GetPawn();
已知Actor获得其下所有的ActorComponent
const TSet<UActorComponent*>& setComponent = pActor->GetComponents();
已知GameWorld获得APlayerController
APlayerController* pPlayerController = pWorld->GetFirstPlayerController();
已知Controller的ActorComponent获得AController
AController* pController = Cast<AController>(pComponentInController->GetOwner());
已知Actor获得T类型ActorComponent
pActor->FindComponentByClass<T>();
添加ActorComponent到Actor
ActotComponent* pActorCpt = NewObject<T>(pActor, name);
pActorCpt->RegisterComponent();