TLinkedList Help

Thanks for this!

To expand on this, if allocation of the list isn’t necessary, it can be done like so:

UQuestStage* newStage = NewObject<UQuestStage>(this->GetOuter(), NAME_None, RF_NoFlags, stage->GetDefaultObject(), true);

if( !newStage )
{
    UE_LOG(QuestSystem, Warning, TEXT("Quest Stage Object not valid!"));
    return;
}

TLinkedDoubleList<UQuestStage> LQuestStages;

if ( LQuestStages.IsEmpty() )
{
    LQuestStages.AddHead(newStage);    
}
else
{
    LQuestStages.AddTail(newStage);
}

for( auto QuestStage : LQuestStages)
{
    UE_LOG(QuestSystem, Warning, TEXT("Stage Name: %s"), *QuestStage->Name);
}
1 Like