Remove unnecessary dependency on the player's mesh in the cubes' inheritance chain:
|
UStaticMeshComponent* ACGBaseCubeActor::GetPlayerMesh() const |
|
{ |
|
if (const auto* PC = GetWorld() ? GetWorld()->GetFirstPlayerController() : nullptr) |
|
{ |
|
if (const auto* Pawn = PC->GetPawn()) |
|
{ |
|
return Pawn->FindComponentByClass<UStaticMeshComponent>(); |
|
} |
|
} |
|
|
|
return nullptr; |
|
} |
|
void ACGAttachedBonusActor::AttachToPlayerMesh() |
|
{ |
|
if (UStaticMeshComponent* PlayerMesh = GetPlayerMesh()) |
|
{ |
|
AttachToComponent(PlayerMesh, FAttachmentTransformRules::SnapToTargetNotIncludingScale); |
|
} |
|
} |
|
void ACGShieldBonusActor::SetPlayerMeshCollisionEnabled(bool bEnabled) |
|
{ |
|
if (UStaticMeshComponent* PlayerMesh = GetPlayerMesh()) |
|
{ |
|
PlayerMesh->SetCollisionEnabled(bEnabled ? ECollisionEnabled::QueryOnly : ECollisionEnabled::NoCollision); |
|
} |
|
} |
|
CollectNiagaraComponent->SetVectorParameter(NiagaraTargetPositionParamName, PlayerMesh->GetComponentLocation()); |
Remove unnecessary dependency on the player's mesh in the cubes' inheritance chain:
Cube_Game/Source/Cube_Game/Private/Gameplay/Cubes/CGBaseCubeActor.cpp
Lines 36 to 47 in dab8e48
Cube_Game/Source/Cube_Game/Private/Gameplay/Cubes/Bonuses/CGAttachedBonusActor.cpp
Lines 12 to 18 in dab8e48
Cube_Game/Source/Cube_Game/Private/Gameplay/Cubes/Bonuses/CGShieldBonusActor.cpp
Lines 40 to 46 in dab8e48
Cube_Game/Source/Cube_Game/Private/Gameplay/Cubes/CGCubeActor.cpp
Line 91 in dab8e48