38{
40 SCOPE_CYCLE_COUNTER(STAT_ProceduralDungeons);
41 SCOPE_CYCLE_COUNTER(STAT_ProceduralDungeons_BPLib);
42 if(Array.IsEmpty()){UE_LOG(LogDungeonBPLib, Display, TEXT("UProceduralBPLib::GetRandomSpecialItemFromStream Array.IsEmpty"));return nullptr;}
43 const int32 Index = UKismetMathLibrary::RandomIntegerInRangeFromStream(Stream, 0, (Array.Num() - 1));
44 if(Array.IsValidIndex(Index) == false){UE_LOG(LogDungeonBPLib, Display, TEXT("UProceduralBPLib::GetRandomSpecialItemFromStream Array.IsValidIndex"));return nullptr;}
45 if(Array[Index].Class == nullptr){UE_LOG(LogDungeonBPLib, Display, TEXT("UProceduralBPLib::GetRandomSpecialItemFromStream Array.Class"));return nullptr;}
46 return &Array[Index];
47}
static FDungeonSpecialItem * GetRandomSpecialItemFromStream(TArray< FDungeonSpecialItem > &Array, const FRandomStream &Stream)
Definition ProceduralBPLib.cpp:36