43 lines
950 B
C++
43 lines
950 B
C++
// Copyright 2026 PHY. All Rights Reserved.
|
|
|
|
#include "Items/PHYItemFragment_PropertySet.h"
|
|
|
|
#include "GIS_ItemInstance.h"
|
|
|
|
void UPHYItemFragment_PropertySet::OnInstanceCreated(UGIS_ItemInstance* ItemInstance) const
|
|
{
|
|
if (!IsValid(ItemInstance))
|
|
{
|
|
return;
|
|
}
|
|
|
|
for (const FGIS_GameplayTagFloat& Modifier : BaseFloatModifiers)
|
|
{
|
|
if (Modifier.Tag.IsValid())
|
|
{
|
|
ItemInstance->SetFloatAttribute(Modifier.Tag, Modifier.Value);
|
|
}
|
|
}
|
|
|
|
for (const FGIS_GameplayTagInteger& Modifier : BaseIntegerModifiers)
|
|
{
|
|
if (Modifier.Tag.IsValid())
|
|
{
|
|
ItemInstance->SetIntegerAttribute(Modifier.Tag, Modifier.Value);
|
|
}
|
|
}
|
|
|
|
Super::OnInstanceCreated(ItemInstance);
|
|
}
|
|
|
|
bool UPHYItemFragment_PropertySet::IsEquippable() const
|
|
{
|
|
return ItemArchetype == EPHYItemArchetype::Weapon || ItemArchetype == EPHYItemArchetype::Equipment;
|
|
}
|
|
|
|
bool UPHYItemFragment_PropertySet::IsConsumable() const
|
|
{
|
|
return ItemArchetype == EPHYItemArchetype::Consumable;
|
|
}
|
|
|