Add item data assets and building placement foundation

This commit is contained in:
2026-05-11 00:54:19 -07:00
parent a8f722d980
commit e81138425b
13 changed files with 389 additions and 8 deletions
+14 -3
View File
@@ -3,6 +3,7 @@
#include "AgrarianResourceNode.h"
#include "AgrarianGameCharacter.h"
#include "AgrarianInventoryComponent.h"
#include "AgrarianItemDefinitionAsset.h"
#include "Components/StaticMeshComponent.h"
#include "Net/UnrealNetwork.h"
@@ -45,9 +46,7 @@ void AAgrarianResourceNode::Interact_Implementation(AAgrarianGameCharacter* Inte
if (UAgrarianInventoryComponent* Inventory = Interactor->GetInventoryComponent())
{
FAgrarianItemStack Granted = YieldItem;
Granted.Quantity = QuantityPerHarvest;
const FAgrarianItemStack Granted = MakeYieldStack();
if (Inventory->AddItem(Granted))
{
RemainingHarvests--;
@@ -61,6 +60,18 @@ void AAgrarianResourceNode::OnRep_RemainingHarvests()
UpdateDepletedState();
}
FAgrarianItemStack AAgrarianResourceNode::MakeYieldStack() const
{
if (YieldItemDefinition)
{
return YieldItemDefinition->MakeStack(QuantityPerHarvest);
}
FAgrarianItemStack Granted = YieldItem;
Granted.Quantity = QuantityPerHarvest;
return Granted;
}
void AAgrarianResourceNode::UpdateDepletedState()
{
if (Mesh)