39 TArray<FIVSmokeHoleGPU> GPUBuffer;
40 TArray<FIVSmokeHoleGPU> BulletBuffer;
41 TArray<FIVSmokeHoleGPU> GrenadeBuffer;
42 TArray<FIVSmokeHoleGPU> DynamicObjectBuffer;
44 BulletBuffer.Reserve(FMath::Max(
Num(), 1));
45 GrenadeBuffer.Reserve(FMath::Max(
Num(), 1));
46 DynamicObjectBuffer.Reserve(FMath::Max(
Num(), 1));
47 GPUBuffer.Reserve(FMath::Max(
Num(), 1));
59 if (Preset->HoleType == EIVSmokeHoleType::Penetration)
61 BulletBuffer.Add(GPUHole);
63 else if (Preset->HoleType == EIVSmokeHoleType::Explosion)
65 GrenadeBuffer.Add(GPUHole);
67 else if (Preset->HoleType == EIVSmokeHoleType::Dynamic)
69 DynamicObjectBuffer.Add(GPUHole);
73 GPUBuffer.Append(GrenadeBuffer);
74 GPUBuffer.Append(BulletBuffer);
75 GPUBuffer.Append(DynamicObjectBuffer);
77 if (GPUBuffer.Num() == 0)
79 GPUBuffer.AddDefaulted(1);
107 case EIVSmokeHoleType::Explosion:
118 case EIVSmokeHoleType::Penetration:
121 case EIVSmokeHoleType::Dynamic: