МЛ
Size: a a a
МЛ
МЛ
人
МЛ
МЛ
AS
AS
МЛ
void AActor::InternalDispatchBlockingHit(UPrimitiveComponent* MyComp, UPrimitiveComponent* OtherComp, bool bSelfMoved, FHitResult const& Hit)
{
check(MyComp);
if (OtherComp != nullptr)
{
AActor* OtherActor = OtherComp->GetOwner();
// Call virtual
if(IsActorValidToNotify(this))
{
NotifyHit(MyComp, OtherActor, OtherComp, bSelfMoved, Hit.ImpactPoint, Hit.ImpactNormal, FVector(0,0,0), Hit);
}
// If we are still ok, call delegate on actor
if(IsActorValidToNotify(this))
{
OnActorHit.Broadcast(this, OtherActor, FVector(0,0,0), Hit);
}
// If component is still alive, call delegate on component
if(!MyComp->IsPendingKill())
{
MyComp->OnComponentHit.Broadcast(MyComp, OtherActor, OtherComp, FVector(0,0,0), Hit);
}
}
}
OC
МЛ
AS
AS
SR
МЛ
AS
МЛ
МЛ
МЛ
void AActor::InternalDispatchBlockingHit(UPrimitiveComponent* MyComp, UPrimitiveComponent* OtherComp, bool bSelfMoved, FHitResult const& Hit)
{
check(MyComp);
if (OtherComp != nullptr)
{
AActor* OtherActor = OtherComp->GetOwner();
// Call virtual
if(IsActorValidToNotify(this))
{
NotifyHit(MyComp, OtherActor, OtherComp, bSelfMoved, Hit.ImpactPoint, Hit.ImpactNormal, FVector(0,0,0), Hit);
}
// If we are still ok, call delegate on actor
if(IsActorValidToNotify(this))
{
OnActorHit.Broadcast(this, OtherActor, FVector(0,0,0), Hit);
}
// If component is still alive, call delegate on component
if(!MyComp->IsPendingKill())
{
MyComp->OnComponentHit.Broadcast(MyComp, OtherActor, OtherComp, FVector(0,0,0), Hit);
}
}
}
МЛ
人