lyra_game_ue/Source/LyraGame/Inventory/LyraInventoryItemDefinition.cpp
Goran Lazarevski 3bcab085f8 Initial commit
2025-03-20 11:06:26 +01:00

46 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LyraInventoryItemDefinition.h"
#include "Templates/SubclassOf.h"
#include "UObject/ObjectPtr.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(LyraInventoryItemDefinition)
//////////////////////////////////////////////////////////////////////
// ULyraInventoryItemDefinition
ULyraInventoryItemDefinition::ULyraInventoryItemDefinition(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
const ULyraInventoryItemFragment* ULyraInventoryItemDefinition::FindFragmentByClass(TSubclassOf<ULyraInventoryItemFragment> FragmentClass) const
{
if (FragmentClass != nullptr)
{
for (ULyraInventoryItemFragment* Fragment : Fragments)
{
if (Fragment && Fragment->IsA(FragmentClass))
{
return Fragment;
}
}
}
return nullptr;
}
//////////////////////////////////////////////////////////////////////
// ULyraInventoryItemDefinition
const ULyraInventoryItemFragment* ULyraInventoryFunctionLibrary::FindItemDefinitionFragment(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, TSubclassOf<ULyraInventoryItemFragment> FragmentClass)
{
if ((ItemDef != nullptr) && (FragmentClass != nullptr))
{
return GetDefault<ULyraInventoryItemDefinition>(ItemDef)->FindFragmentByClass(FragmentClass);
}
return nullptr;
}