Fix mysterious timeline playback issues
This commit is contained in:
parent
b42e6d6223
commit
f44915e5f0
BIN
Content/Pickups/C_Pickup.uasset
(Stored with Git LFS)
BIN
Content/Pickups/C_Pickup.uasset
(Stored with Git LFS)
Binary file not shown.
@ -55,8 +55,8 @@ void AEnemyCharacter::OnDeath(FDamageInfo damageInfo)
|
||||
|
||||
if (UKismetSystemLibrary::DoesImplementInterface(pickup, UPickupable::StaticClass()))
|
||||
{
|
||||
IPickupable::Execute_LoadDataFromDataAsset(pickup, PickupTemplate);
|
||||
pickup->SetActorLocation(GetActorLocation());
|
||||
IPickupable::Execute_LoadDataFromDataAsset(pickup, PickupTemplate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ void AObjectPoolManager::InitializeObjectPool(TSubclassOf<AActor> Object, const
|
||||
{
|
||||
for (int i = 0; i < InitialObjectPoolSize; i++)
|
||||
{
|
||||
AActor* object = GetWorld()->SpawnActor<AActor>(Object);
|
||||
AActor* object = GetWorld()->SpawnActor<AActor>(Object, FVector(10000.0f, 10000.0f, 0), FRotator(0, 0, 0));
|
||||
SetObjectStatus(false, object);
|
||||
ObjectPool.Add(object);
|
||||
}
|
||||
|
@ -66,7 +66,8 @@ void APickup::LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataA
|
||||
StaticMeshComponent->SetStaticMesh(PickupDataAsset->PickupStaticMesh);
|
||||
PickupSoundBase = PickupDataAsset->PickupSoundBase;
|
||||
CurveFloat = PickupDataAsset->CurveFloat;
|
||||
|
||||
PickupLocation = GetActorLocation();
|
||||
|
||||
if (CurveFloat != nullptr)
|
||||
{
|
||||
TimelineComponent->AddInterpFloat(CurveFloat, onTimelineCallback);
|
||||
@ -107,6 +108,7 @@ void APickup::OnInnerBeginOverlap(UPrimitiveComponent* OverlappedComponent, AAct
|
||||
{
|
||||
if (AObjectPoolManager* objectPoolManager = IPools::Execute_GetProjectileObjectPoolManager(gamemode))
|
||||
{
|
||||
TimelineComponent->Stop();
|
||||
ResetData_Implementation();
|
||||
objectPoolManager->ReturnObject(this);
|
||||
}
|
||||
@ -122,7 +124,10 @@ void APickup::OnOuterBeginOverlap(UPrimitiveComponent* OverlappedComponent, AAct
|
||||
UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep,
|
||||
const FHitResult& SweepResult)
|
||||
{
|
||||
PlayTimeLine();
|
||||
if (!TimelineComponent->IsPlaying() && UGameplayStatics::GetPlayerCharacter(GetWorld(), 0) == Cast<ACharacter>(OtherActor))
|
||||
{
|
||||
PlayTimeLine();
|
||||
}
|
||||
}
|
||||
|
||||
void APickup::TimelineCallback(float val)
|
||||
|
Loading…
x
Reference in New Issue
Block a user