void Construct(int32 index) { if (ElementProperty->HasAnyPropertyFlags(CPF_ZeroConstructor)) { FMemory::Memzero(GetRawPtr(index), ElementSize); } else { ElementProperty->InitializeValue(GetRawPtr(index)); } }
void UKismetArrayLibrary::GenericArray_Get(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index, void* Item) { if( TargetArray ) { FScriptArrayHelper ArrayHelper(ArrayProp, TargetArray); UProperty* InnerProp = ArrayProp->Inner; if( ArrayHelper.IsValidIndex(Index) ) { InnerProp->CopyCompleteValueFromScriptVM(Item, ArrayHelper.GetRawPtr(Index)); } else { FFrame::KismetExecutionMessage(*FString::Printf(TEXT("Attempted to get an item from array %s out of bounds [%d/%d]!"), *ArrayProp->GetName(), Index, GetLastIndex(ArrayHelper)), ELogVerbosity::Warning); InnerProp->InitializeValue(Item); } } }
void UKismetArrayLibrary::GenericArray_Get(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index, void* Item) { if( TargetArray ) { FScriptArrayHelper ArrayHelper(ArrayProp, TargetArray); UProperty* InnerProp = ArrayProp->Inner; if( ArrayHelper.IsValidIndex(Index) ) { InnerProp->CopyCompleteValueFromScriptVM(Item, ArrayHelper.GetRawPtr(Index)); } else { UE_LOG(LogArray, Warning, TEXT("Attempted to get an item from array %s out of bounds [%d/%d]!"), *ArrayProp->GetName(), Index, GetLastIndex(ArrayHelper)); InnerProp->InitializeValue(Item); } } }